<!DOCTYPE html>
<html lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<title>fit_line_contour_xld [HALCON算子参考手册]</title>
<style type="text/css">
      body {
    color: #000000;
    background-color: #ffffff;
    margin: 0;
    font-family: Arial, Helvetica, sans-serif;
}

.body_main {
    margin-left: 35px;
    margin-right: 35px;
}

@media screen and (min-width:992px) {

    .body_main {
        margin-left: 10%;
        margin-right: 10%;
    }

    table.toctable {
        width: 80%
    }
}

@media screen and (min-width:1400px) {

    .body_main {
        margin-left: 15%;
        margin-right: 15%;
    }

    table.toctable {
        width: 70%
    }
}

body>div ul ul {
    margin-left: inherit;
}

a:link {
    color: #0044cc;
}

a:link,
a:visited {
    text-decoration: none;
}

a:link:hover,
a:visited:hover {
    text-decoration: underline;
}

th {
    text-align: left;
}

h1,
h2,
h3,
h4,
h5,
h6 {
    text-rendering: optimizeLegibility;
    color: #666666;
}

code {
    font-family: monospace,monospace;
}

h1 a.halconoperator {
    font-family: Arial, Helvetica, sans-serif;
    color: #666666;
}

h2 a.halconoperator {
    font-family: Arial, Helvetica, sans-serif;
    color: #666666;
}

hr {
    border: 0;
    border-top: solid 1px #f28d26;
}

.pre {
    display: block;
    padding-bottom: 1ex;
    font-family: monospace;
    white-space: pre;
}

pre {
    font-family: monospace, monospace;
    padding: 1ex;
    white-space: pre-wrap;
}

.toc {
    font-size: 80%;
    border-top: 1px dashed #f28d26;
    border-bottom: 1px dashed #f28d26;
    padding-top: 5px;
    padding-bottom: 5px;
}

.inv {
    margin: 0;
    border: 0;
    padding: 0;
}

.banner {
    color: #666666;
    padding-left: 1em;
}

.logo {
    background-color: white;
}

.keyboard {
    font-size: 80%;
    padding-left: 3px;
    padding-right: 3px;
    border-radius: 5px;
    border-width: 1px;
    border-style: solid;
    border-color: #f28d26;
    background-color: #f3f3f3;
}

.warning {
    margin-top: 2ex;
    margin-bottom: 1ex;
    padding: 10px;
    text-align: center;
    border: 1px solid;
    color: #bb0000;
    background-color: #fff7f7
}

.imprint {
    margin-top: 1ex;
    font-size: 80%;
    color: #666666;
}

.imprinthead {
    font-weight: bolder;
    color: #666666;
}

.indexlink {
    text-align: right;
    padding-bottom: 5px;
}

.postscript {
    margin-top: 2ex;
    font-size: 80%;
    color: #666666
}

.evenrow {
    background-color: #e7e7ef;
    vertical-align: top;
}

.oddrow {
    background-color: #f7f7ff;
    vertical-align: top;
}

.headrow {
    background-color: #97979f;
    color: #ffffff;
    vertical-align: top;
}

.logorow {
    vertical-align: top;
}

.error {
    color: red;
}

.var {
    font-style: italic
}

.halconoperator {
    font-family: monospace, monospace;
}

span.operator {
    font-family: monospace, monospace;
}

span.procedure {
    font-family: monospace, monospace;
}

span.operation {
    font-family: monospace, monospace;
}

span.feature {
    font-family: Arial, Helvetica, Homerton, sans-serif;
}

ul {
    padding-left: 1.2em;
}

li.dot {
    list-style-type: square;
    color: #f28d26;
}

.breadcrumb {
    font-size: 80%;
    color: white;
    background-color: #062d64;
    margin-bottom: 20px;
    padding-left: 35px;
    padding-right: 35px;
    padding-bottom: 15px;
}

.webbar {
    font-size: 80%;
    background-color: #dddddd;
    margin-top: 0px;
    margin-left: -35px;
    margin-right: -35px;
    margin-bottom: 0px;
    padding-top: 5px;
    padding-left: 35px;
    padding-right: 35px;
    padding-bottom: 5px;
}

.footer {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    border-top: 1px dashed #f28d26;
    font-size: 80%;
    color: #666666;
    padding-bottom: 8px;
}

.footer .socialmedia a {
    padding-left: 7px;
}

.socialmedia {
    padding-top: 10px;
}

.copyright {
    margin-top: 19px;
}

.breadcrumb a {
    color: #ffffff;
    border-bottom: 1px solid white;
}

.breadcrumb a:link:hover,
.breadcrumb a:visited:hover {
    text-decoration: none;
    border-bottom: none;
}

.heading {
    margin-top: 1ex;
    font-size: 110%;
    font-weight: bold;
    color: #666666;
}

.text {
    color: black;
}

.example {
    font-size: 80%;
    background-color: #f3f3f3;
    border: 1px dashed #666666;
    padding: 10px;
}

.displaymath {
    display: block;
    text-align: center;
    margin-top: 1ex;
    margin-bottom: 1ex;
}

.title {
    float: left;
    padding-top: 3px;
    padding-bottom: 3px;
}

.signnote {
    font-family: Arial, Helvetica, Homerton, sans-serif;
    font-size: 80%;
    color: #666666;
    font-weight: lighter;
    font-style: italic
}

.par {
    margin-bottom: 1.5em;
}

.parhead {
    text-align: right;
}

.parname {
    float: left;
}

.pardesc {
    font-size: 85%;
    margin-top: 0.5em;
    margin-bottom: 0.5em;
    margin-left: 2em;
}

.parcat {
    color: #666;
    font-weight: bold;
}

*[data-if=cpp],
*[data-if=c],
*[data-if=dotnet],
*[data-if=com],
*[data-if=python] {
    display: none;
}

.tabbar {
    text-align: right;
    border-bottom: 1px solid #f28d26;
    margin-bottom: 0.5em;
}

ul.tabs {
    padding-top: 3px;
    padding-bottom: 3px;
    margin-top: 10px;
    margin-bottom: 0;
    font-size: 80%
}

ul.tabs li {
    padding-top: 3px;
    padding-bottom: 3px;
    display: inline;
    overflow: hidden;
    list-style-type: none;
    margin: 0;
    margin-left: 8px;
    border-top: 1px solid #666;
    border-left: 1px solid #666;
    border-right: 1px solid #666;
}

ul.tabs li.active {
    border-left: 1px solid #f28d26;
    border-right: 1px solid #f28d26;
    border-top: 1px solid #f28d26;
    border-bottom: 1px solid #fff;
}

ul.tabs li.inactive {
    background-color: #eee;
}

ul.tabs li a {
    padding-left: 5px;
    padding-right: 5px;
    color: #666;
}

ul.tabs li a:link:hover {
    text-decoration: none;
}

ul.tabs li.inactive a {
    color: #666;
}

ul.tabs li.active a {
    color: black;
}

dl.generic dd {
    margin-bottom: 1em;
}

.pari {
    color: olive;
}

.paro {
    color: maroon;
}

.comment {
    font-size: 80%;
    color: green;
    white-space: nowrap;
}

table.grid {
    border-collapse: collapse;
}

table.grid td {
    padding: 5px;
    border: 1px solid;
}

table.layout {
    border: 0px;
}

table.layout td {
    padding: 5px;
}

table.table {
    border-collapse: collapse;
}

table.table td {
    padding: 5px;
    border-left: 0px;
    border-right: 0px;
}

table.table tr:last-child {
    border-bottom: 1px solid;
}

table.table th {
    padding: 5px;
    border-top: 1px solid;
    border-bottom: 1px solid;
    border-left: 0px;
    border-right: 0px;
}

.details_summary {
    cursor: pointer;
}

table.toctable {
    width: 100%;
}

table.toctable col:first-child {
    width: 20%;
}

table.toctable col:nth-last-child(2) {
    width: 8%;
}

table.altcolored tr:nth-child(even) {
    background-color: #f3f3f3;
}

    </style>
<!--OP_REF_STYLE_END-->
<script>
    <!--
var active_lang='hdevelop';function switchVisibility(obj,active_lang,new_lang)
{var display_style='inline';
for(var i=0;i<obj.length;i++)
{if(obj.item(i).getAttribute('data-if')==new_lang)
{obj.item(i).style.display=display_style;}
if(obj.item(i).getAttribute('data-if')==active_lang)
{obj.item(i).style.display='none';}}
return;}
function toggleLanguage(new_lang,initial)
{if(active_lang!=new_lang)
{var lis=document.getElementsByTagName('li');for(var i=0;i<lis.length;i++)
{if(lis.item(i).id=='syn-'+new_lang)
{lis.item(i).className='active';}
else
{lis.item(i).className='inactive';}}
var divs=document.getElementsByTagName('div');var spans=document.getElementsByTagName('span');switchVisibility(divs,active_lang,new_lang);switchVisibility(spans,active_lang,new_lang);if(!initial)
{setCookie("halcon_reference_language",new_lang,null,null);}
active_lang=new_lang;}
return;}
function setCookie(name,value,domain,exp_offset,path,secure)
{localStorage.setItem(name,value);}
function getCookie(name)
{return localStorage.getItem(name);}
function initialize()
{var qs=location.href.split('?')[1];var qs_lang_raw=location.href.split('interface=')[1];var qs_lang;if(qs_lang_raw)
{qs_lang=qs_lang_raw.split('#')[0];}
var cookie_lang=getCookie("halcon_reference_language");var new_lang;if((qs_lang=="hdevelop")||(qs_lang=="dotnet")||(qs_lang=="python")||(qs_lang=="cpp")||(qs_lang=="c"))
{new_lang=qs_lang;setCookie("halcon_reference_language",new_lang,null,null);}
else if((cookie_lang=="hdevelop")||(cookie_lang=="dotnet")||(cookie_lang=="python")||(cookie_lang=="cpp")||(cookie_lang=="c"))
{new_lang=cookie_lang;}
else
{new_lang="hdevelop";}
toggleLanguage(new_lang,1);return;}
-->

  </script>
</head>
<body onload="initialize();">
<div class="breadcrumb">
<br class="inv"><a href="index.html">目录</a> / <a href="toc_xld.html">XLD</a> / <a href="toc_xld_features.html">特征</a><br class="inv">
</div>
<div class="body_main">
<div class="tabbar"><ul class="tabs">
<li id="syn-hdevelop" class="active"><a href="javascript:void(0);" onclick="toggleLanguage('hdevelop')" onfocus="blur()">HDevelop</a></li>
<li id="syn-dotnet" class="inactive"><a href="javascript:void(0);" onclick="toggleLanguage('dotnet')" onfocus="blur()">.NET</a></li>
<li id="syn-python" class="inactive"><a href="javascript:void(0);" onclick="toggleLanguage('python')" onfocus="blur()">Python</a></li>
<li id="syn-cpp" class="inactive"><a href="javascript:void(0);" onclick="toggleLanguage('cpp')" onfocus="blur()">C++</a></li>
<li id="syn-c" class="inactive"><a href="javascript:void(0);" onclick="toggleLanguage('c')" onfocus="blur()">C</a></li>
</ul></div>
<div class="indexlink">
<a href="index_classes.html"><span data-if="dotnet" style="display:none;">类别</span><span data-if="cpp" style="display:none;">类别</span></a><span data-if="dotnet" style="display:none;"> | </span><span data-if="cpp" style="display:none;"> | </span><a href="index_by_name.html">算子列表</a>
</div>
<!--OP_REF_HEADER_END-->
<h1 id="sec_name">
<span data-if="hdevelop" style="display:inline;">fit_line_contour_xld</span><span data-if="c" style="display:none;">fit_line_contour_xld</span><span data-if="cpp" style="display:none;">FitLineContourXld</span><span data-if="dotnet" style="display:none;">FitLineContourXld</span><span data-if="python" style="display:none;">fit_line_contour_xld</span> (算子名称)</h1>
<h2>名称</h2>
<p><code><span data-if="hdevelop" style="display:inline;">fit_line_contour_xld</span><span data-if="c" style="display:none;">fit_line_contour_xld</span><span data-if="cpp" style="display:none;">FitLineContourXld</span><span data-if="dotnet" style="display:none;">FitLineContourXld</span><span data-if="python" style="display:none;">fit_line_contour_xld</span></code> — Approximate XLD contours by line segments.</p>
<h2 id="sec_synopsis">参数签名</h2>
<div data-if="hdevelop" style="display:inline;">
<p>
<code><b>fit_line_contour_xld</b>(<a href="#Contours"><i>Contours</i></a> :  : <a href="#Algorithm"><i>Algorithm</i></a>, <a href="#MaxNumPoints"><i>MaxNumPoints</i></a>, <a href="#ClippingEndPoints"><i>ClippingEndPoints</i></a>, <a href="#Iterations"><i>Iterations</i></a>, <a href="#ClippingFactor"><i>ClippingFactor</i></a> : <a href="#RowBegin"><i>RowBegin</i></a>, <a href="#ColBegin"><i>ColBegin</i></a>, <a href="#RowEnd"><i>RowEnd</i></a>, <a href="#ColEnd"><i>ColEnd</i></a>, <a href="#Nr"><i>Nr</i></a>, <a href="#Nc"><i>Nc</i></a>, <a href="#Dist"><i>Dist</i></a>)</code></p>
</div>
<div data-if="c" style="display:none;">
<p>
<code>Herror <b>fit_line_contour_xld</b>(const Hobject <a href="#Contours"><i>Contours</i></a>, const char* <a href="#Algorithm"><i>Algorithm</i></a>, const Hlong <a href="#MaxNumPoints"><i>MaxNumPoints</i></a>, const Hlong <a href="#ClippingEndPoints"><i>ClippingEndPoints</i></a>, const Hlong <a href="#Iterations"><i>Iterations</i></a>, double <a href="#ClippingFactor"><i>ClippingFactor</i></a>, double* <a href="#RowBegin"><i>RowBegin</i></a>, double* <a href="#ColBegin"><i>ColBegin</i></a>, double* <a href="#RowEnd"><i>RowEnd</i></a>, double* <a href="#ColEnd"><i>ColEnd</i></a>, double* <a href="#Nr"><i>Nr</i></a>, double* <a href="#Nc"><i>Nc</i></a>, double* <a href="#Dist"><i>Dist</i></a>)</code></p>
<p>
<code>Herror <b>T_fit_line_contour_xld</b>(const Hobject <a href="#Contours"><i>Contours</i></a>, const Htuple <a href="#Algorithm"><i>Algorithm</i></a>, const Htuple <a href="#MaxNumPoints"><i>MaxNumPoints</i></a>, const Htuple <a href="#ClippingEndPoints"><i>ClippingEndPoints</i></a>, const Htuple <a href="#Iterations"><i>Iterations</i></a>, const Htuple <a href="#ClippingFactor"><i>ClippingFactor</i></a>, Htuple* <a href="#RowBegin"><i>RowBegin</i></a>, Htuple* <a href="#ColBegin"><i>ColBegin</i></a>, Htuple* <a href="#RowEnd"><i>RowEnd</i></a>, Htuple* <a href="#ColEnd"><i>ColEnd</i></a>, Htuple* <a href="#Nr"><i>Nr</i></a>, Htuple* <a href="#Nc"><i>Nc</i></a>, Htuple* <a href="#Dist"><i>Dist</i></a>)</code></p>
</div>
<div data-if="cpp" style="display:none;">
<p>
<code>void <b>FitLineContourXld</b>(const HObject&amp; <a href="#Contours"><i>Contours</i></a>, const HTuple&amp; <a href="#Algorithm"><i>Algorithm</i></a>, const HTuple&amp; <a href="#MaxNumPoints"><i>MaxNumPoints</i></a>, const HTuple&amp; <a href="#ClippingEndPoints"><i>ClippingEndPoints</i></a>, const HTuple&amp; <a href="#Iterations"><i>Iterations</i></a>, const HTuple&amp; <a href="#ClippingFactor"><i>ClippingFactor</i></a>, HTuple* <a href="#RowBegin"><i>RowBegin</i></a>, HTuple* <a href="#ColBegin"><i>ColBegin</i></a>, HTuple* <a href="#RowEnd"><i>RowEnd</i></a>, HTuple* <a href="#ColEnd"><i>ColEnd</i></a>, HTuple* <a href="#Nr"><i>Nr</i></a>, HTuple* <a href="#Nc"><i>Nc</i></a>, HTuple* <a href="#Dist"><i>Dist</i></a>)</code></p>
<p>
<code>void <a href="HXLDCont.html">HXLDCont</a>::<b>FitLineContourXld</b>(const HString&amp; <a href="#Algorithm"><i>Algorithm</i></a>, Hlong <a href="#MaxNumPoints"><i>MaxNumPoints</i></a>, Hlong <a href="#ClippingEndPoints"><i>ClippingEndPoints</i></a>, Hlong <a href="#Iterations"><i>Iterations</i></a>, double <a href="#ClippingFactor"><i>ClippingFactor</i></a>, HTuple* <a href="#RowBegin"><i>RowBegin</i></a>, HTuple* <a href="#ColBegin"><i>ColBegin</i></a>, HTuple* <a href="#RowEnd"><i>RowEnd</i></a>, HTuple* <a href="#ColEnd"><i>ColEnd</i></a>, HTuple* <a href="#Nr"><i>Nr</i></a>, HTuple* <a href="#Nc"><i>Nc</i></a>, HTuple* <a href="#Dist"><i>Dist</i></a>) const</code></p>
<p>
<code>void <a href="HXLDCont.html">HXLDCont</a>::<b>FitLineContourXld</b>(const HString&amp; <a href="#Algorithm"><i>Algorithm</i></a>, Hlong <a href="#MaxNumPoints"><i>MaxNumPoints</i></a>, Hlong <a href="#ClippingEndPoints"><i>ClippingEndPoints</i></a>, Hlong <a href="#Iterations"><i>Iterations</i></a>, double <a href="#ClippingFactor"><i>ClippingFactor</i></a>, double* <a href="#RowBegin"><i>RowBegin</i></a>, double* <a href="#ColBegin"><i>ColBegin</i></a>, double* <a href="#RowEnd"><i>RowEnd</i></a>, double* <a href="#ColEnd"><i>ColEnd</i></a>, double* <a href="#Nr"><i>Nr</i></a>, double* <a href="#Nc"><i>Nc</i></a>, double* <a href="#Dist"><i>Dist</i></a>) const</code></p>
<p>
<code>void <a href="HXLDCont.html">HXLDCont</a>::<b>FitLineContourXld</b>(const char* <a href="#Algorithm"><i>Algorithm</i></a>, Hlong <a href="#MaxNumPoints"><i>MaxNumPoints</i></a>, Hlong <a href="#ClippingEndPoints"><i>ClippingEndPoints</i></a>, Hlong <a href="#Iterations"><i>Iterations</i></a>, double <a href="#ClippingFactor"><i>ClippingFactor</i></a>, double* <a href="#RowBegin"><i>RowBegin</i></a>, double* <a href="#ColBegin"><i>ColBegin</i></a>, double* <a href="#RowEnd"><i>RowEnd</i></a>, double* <a href="#ColEnd"><i>ColEnd</i></a>, double* <a href="#Nr"><i>Nr</i></a>, double* <a href="#Nc"><i>Nc</i></a>, double* <a href="#Dist"><i>Dist</i></a>) const</code></p>
<p>
<code>void <a href="HXLDCont.html">HXLDCont</a>::<b>FitLineContourXld</b>(const wchar_t* <a href="#Algorithm"><i>Algorithm</i></a>, Hlong <a href="#MaxNumPoints"><i>MaxNumPoints</i></a>, Hlong <a href="#ClippingEndPoints"><i>ClippingEndPoints</i></a>, Hlong <a href="#Iterations"><i>Iterations</i></a>, double <a href="#ClippingFactor"><i>ClippingFactor</i></a>, double* <a href="#RowBegin"><i>RowBegin</i></a>, double* <a href="#ColBegin"><i>ColBegin</i></a>, double* <a href="#RowEnd"><i>RowEnd</i></a>, double* <a href="#ColEnd"><i>ColEnd</i></a>, double* <a href="#Nr"><i>Nr</i></a>, double* <a href="#Nc"><i>Nc</i></a>, double* <a href="#Dist"><i>Dist</i></a>) const  <span class="signnote">
            (
            Windows only)
          </span></code></p>
</div>
<div data-if="com" style="display:none;"></div>
<div data-if="dotnet" style="display:none;">
<p>
<code>static void <a href="HOperatorSet.html">HOperatorSet</a>.<b>FitLineContourXld</b>(<a href="HObject.html">HObject</a> <a href="#Contours"><i>contours</i></a>, <a href="HTuple.html">HTuple</a> <a href="#Algorithm"><i>algorithm</i></a>, <a href="HTuple.html">HTuple</a> <a href="#MaxNumPoints"><i>maxNumPoints</i></a>, <a href="HTuple.html">HTuple</a> <a href="#ClippingEndPoints"><i>clippingEndPoints</i></a>, <a href="HTuple.html">HTuple</a> <a href="#Iterations"><i>iterations</i></a>, <a href="HTuple.html">HTuple</a> <a href="#ClippingFactor"><i>clippingFactor</i></a>, out <a href="HTuple.html">HTuple</a> <a href="#RowBegin"><i>rowBegin</i></a>, out <a href="HTuple.html">HTuple</a> <a href="#ColBegin"><i>colBegin</i></a>, out <a href="HTuple.html">HTuple</a> <a href="#RowEnd"><i>rowEnd</i></a>, out <a href="HTuple.html">HTuple</a> <a href="#ColEnd"><i>colEnd</i></a>, out <a href="HTuple.html">HTuple</a> <a href="#Nr"><i>nr</i></a>, out <a href="HTuple.html">HTuple</a> <a href="#Nc"><i>nc</i></a>, out <a href="HTuple.html">HTuple</a> <a href="#Dist"><i>dist</i></a>)</code></p>
<p>
<code>void <a href="HXLDCont.html">HXLDCont</a>.<b>FitLineContourXld</b>(string <a href="#Algorithm"><i>algorithm</i></a>, int <a href="#MaxNumPoints"><i>maxNumPoints</i></a>, int <a href="#ClippingEndPoints"><i>clippingEndPoints</i></a>, int <a href="#Iterations"><i>iterations</i></a>, double <a href="#ClippingFactor"><i>clippingFactor</i></a>, out <a href="HTuple.html">HTuple</a> <a href="#RowBegin"><i>rowBegin</i></a>, out <a href="HTuple.html">HTuple</a> <a href="#ColBegin"><i>colBegin</i></a>, out <a href="HTuple.html">HTuple</a> <a href="#RowEnd"><i>rowEnd</i></a>, out <a href="HTuple.html">HTuple</a> <a href="#ColEnd"><i>colEnd</i></a>, out <a href="HTuple.html">HTuple</a> <a href="#Nr"><i>nr</i></a>, out <a href="HTuple.html">HTuple</a> <a href="#Nc"><i>nc</i></a>, out <a href="HTuple.html">HTuple</a> <a href="#Dist"><i>dist</i></a>)</code></p>
<p>
<code>void <a href="HXLDCont.html">HXLDCont</a>.<b>FitLineContourXld</b>(string <a href="#Algorithm"><i>algorithm</i></a>, int <a href="#MaxNumPoints"><i>maxNumPoints</i></a>, int <a href="#ClippingEndPoints"><i>clippingEndPoints</i></a>, int <a href="#Iterations"><i>iterations</i></a>, double <a href="#ClippingFactor"><i>clippingFactor</i></a>, out double <a href="#RowBegin"><i>rowBegin</i></a>, out double <a href="#ColBegin"><i>colBegin</i></a>, out double <a href="#RowEnd"><i>rowEnd</i></a>, out double <a href="#ColEnd"><i>colEnd</i></a>, out double <a href="#Nr"><i>nr</i></a>, out double <a href="#Nc"><i>nc</i></a>, out double <a href="#Dist"><i>dist</i></a>)</code></p>
</div>
<div data-if="python" style="display:none;">
<p>
<code>def <b>fit_line_contour_xld</b>(<a href="#Contours"><i>contours</i></a>: HObject, <a href="#Algorithm"><i>algorithm</i></a>: str, <a href="#MaxNumPoints"><i>max_num_points</i></a>: int, <a href="#ClippingEndPoints"><i>clipping_end_points</i></a>: int, <a href="#Iterations"><i>iterations</i></a>: int, <a href="#ClippingFactor"><i>clipping_factor</i></a>: float) -&gt; Tuple[Sequence[float], Sequence[float], Sequence[float], Sequence[float], Sequence[float], Sequence[float], Sequence[float]]</code></p>
<p>
<code>def <b>fit_line_contour_xld_s</b>(<a href="#Contours"><i>contours</i></a>: HObject, <a href="#Algorithm"><i>algorithm</i></a>: str, <a href="#MaxNumPoints"><i>max_num_points</i></a>: int, <a href="#ClippingEndPoints"><i>clipping_end_points</i></a>: int, <a href="#Iterations"><i>iterations</i></a>: int, <a href="#ClippingFactor"><i>clipping_factor</i></a>: float) -&gt; Tuple[float, float, float, float, float, float, float]</code></p>
</div>
<h2 id="sec_description">描述</h2>
<p><code><span data-if="hdevelop" style="display:inline">fit_line_contour_xld</span><span data-if="c" style="display:none">fit_line_contour_xld</span><span data-if="cpp" style="display:none">FitLineContourXld</span><span data-if="com" style="display:none">FitLineContourXld</span><span data-if="dotnet" style="display:none">FitLineContourXld</span><span data-if="python" style="display:none">fit_line_contour_xld</span></code> approximates the XLD contours
<a href="#Contours"><i><code><span data-if="hdevelop" style="display:inline">Contours</span><span data-if="c" style="display:none">Contours</span><span data-if="cpp" style="display:none">Contours</span><span data-if="com" style="display:none">Contours</span><span data-if="dotnet" style="display:none">contours</span><span data-if="python" style="display:none">contours</span></code></i></a> by line segments. It does not perform a
segmentation of the input contours. Thus, one has to make sure that
each contour corresponds to one and only one line segment.  The
operator returns for each contour the start point
(<a href="#RowBegin"><i><code><span data-if="hdevelop" style="display:inline">RowBegin</span><span data-if="c" style="display:none">RowBegin</span><span data-if="cpp" style="display:none">RowBegin</span><span data-if="com" style="display:none">RowBegin</span><span data-if="dotnet" style="display:none">rowBegin</span><span data-if="python" style="display:none">row_begin</span></code></i></a>, <a href="#ColBegin"><i><code><span data-if="hdevelop" style="display:inline">ColBegin</span><span data-if="c" style="display:none">ColBegin</span><span data-if="cpp" style="display:none">ColBegin</span><span data-if="com" style="display:none">ColBegin</span><span data-if="dotnet" style="display:none">colBegin</span><span data-if="python" style="display:none">col_begin</span></code></i></a>), the end point
(<a href="#RowEnd"><i><code><span data-if="hdevelop" style="display:inline">RowEnd</span><span data-if="c" style="display:none">RowEnd</span><span data-if="cpp" style="display:none">RowEnd</span><span data-if="com" style="display:none">RowEnd</span><span data-if="dotnet" style="display:none">rowEnd</span><span data-if="python" style="display:none">row_end</span></code></i></a>, <a href="#ColEnd"><i><code><span data-if="hdevelop" style="display:inline">ColEnd</span><span data-if="c" style="display:none">ColEnd</span><span data-if="cpp" style="display:none">ColEnd</span><span data-if="com" style="display:none">ColEnd</span><span data-if="dotnet" style="display:none">colEnd</span><span data-if="python" style="display:none">col_end</span></code></i></a>), and the regression line to the
contour given by the normal vector (<a href="#Nr"><i><code><span data-if="hdevelop" style="display:inline">Nr</span><span data-if="c" style="display:none">Nr</span><span data-if="cpp" style="display:none">Nr</span><span data-if="com" style="display:none">Nr</span><span data-if="dotnet" style="display:none">nr</span><span data-if="python" style="display:none">nr</span></code></i></a>, <a href="#Nc"><i><code><span data-if="hdevelop" style="display:inline">Nc</span><span data-if="c" style="display:none">Nc</span><span data-if="cpp" style="display:none">Nc</span><span data-if="com" style="display:none">Nc</span><span data-if="dotnet" style="display:none">nc</span><span data-if="python" style="display:none">nc</span></code></i></a>) of the
line and its distance <a href="#Dist"><i><code><span data-if="hdevelop" style="display:inline">Dist</span><span data-if="c" style="display:none">Dist</span><span data-if="cpp" style="display:none">Dist</span><span data-if="com" style="display:none">Dist</span><span data-if="dotnet" style="display:none">dist</span><span data-if="python" style="display:none">dist</span></code></i></a> from the origin, i.e., the line
equation is given by
<span title="1" style="vertical-align:-0.195552em" class="math"><!-- Created by MetaPost 1.902 on 2023.05.15:2033 --><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" width="11.5172em" height="0.850062em" viewBox="0 0 184.275085 13.600998">
<!-- Original BoundingBox: -92.137543 -6.800491 92.137543 6.800507 -->
  <defs>
    <g transform="scale(0.009963,0.009963)" id="GLYPHpcrr8r_68">
      <path style="fill-rule: evenodd;" d="M104.000000 -41.000000L70.000000 -41.000000C52.000000 -41.000000,43.000000 -34.000000,43.000000 -21.000000C43.000000 -7.000000,52.000000 -0.000000,70.000000 -0.000000L290.000000 -0.000000C419.000000 -0.000000,520.000000 -112.000000,520.000000 -254.000000L520.000000 -310.000000C520.000000 -451.000000,419.000000 -563.000000,290.000000 -563.000000L70.000000 -563.000000C52.000000 -563.000000,43.000000 -556.000000,43.000000 -543.000000C43.000000 -529.000000,52.000000 -522.000000,70.000000 -522.000000L104.000000 -522.000000M145.000000 -41.000000L145.000000 -522.000000L288.000000 -522.000000C342.000000 -522.000000,379.000000 -507.000000,414.000000 -472.000000C454.000000 -431.000000,479.000000 -371.000000,479.000000 -318.000000L479.000000 -245.000000C479.000000 -139.000000,391.000000 -41.000000,295.000000 -41.000000"></path>
    </g>
    <g transform="scale(0.009963,0.009963)" id="GLYPHpcrr8r_78">
      <path style="fill-rule: evenodd;" d="M501.000000 -0.000000L501.000000 -522.000000L535.000000 -522.000000C553.000000 -522.000000,562.000000 -529.000000,562.000000 -543.000000C562.000000 -556.000000,553.000000 -563.000000,535.000000 -563.000000L386.000000 -563.000000C367.000000 -563.000000,358.000000 -556.000000,358.000000 -543.000000C358.000000 -529.000000,367.000000 -522.000000,386.000000 -522.000000L460.000000 -522.000000L460.000000 -59.000000L155.000000 -563.000000L49.000000 -563.000000C31.000000 -563.000000,22.000000 -556.000000,22.000000 -543.000000C22.000000 -529.000000,31.000000 -522.000000,49.000000 -522.000000L103.000000 -522.000000L103.000000 -41.000000L69.000000 -41.000000C51.000000 -41.000000,42.000000 -34.000000,42.000000 -21.000000C42.000000 -7.000000,51.000000 -0.000000,69.000000 -0.000000L219.000000 -0.000000C236.000000 -0.000000,246.000000 -7.000000,246.000000 -21.000000C246.000000 -34.000000,237.000000 -41.000000,219.000000 -41.000000L144.000000 -41.000000L144.000000 -504.000000L449.000000 -0.000000"></path>
    </g>
    <g transform="scale(0.009963,0.009963)" id="GLYPHpcrr8r_99">
      <path style="fill-rule: evenodd;" d="M470.000000 -376.000000C429.000000 -412.000000,375.000000 -431.000000,314.000000 -431.000000C180.000000 -431.000000,84.000000 -336.000000,84.000000 -204.000000C84.000000 -76.000000,178.000000 16.000000,309.000000 16.000000C375.000000 16.000000,441.000000 -4.000000,492.000000 -39.000000C520.000000 -58.000000,535.000000 -76.000000,535.000000 -88.000000C535.000000 -98.000000,526.000000 -107.000000,516.000000 -107.000000C509.000000 -107.000000,506.000000 -105.000000,498.000000 -97.000000C446.000000 -49.000000,384.000000 -25.000000,311.000000 -25.000000C202.000000 -25.000000,125.000000 -100.000000,125.000000 -205.000000C125.000000 -315.000000,201.000000 -390.000000,311.000000 -390.000000C395.000000 -390.000000,466.000000 -348.000000,470.000000 -295.000000C472.000000 -278.000000,478.000000 -271.000000,491.000000 -271.000000C504.000000 -271.000000,511.000000 -280.000000,511.000000 -298.000000L511.000000 -389.000000C511.000000 -408.000000,504.000000 -417.000000,491.000000 -417.000000C477.000000 -417.000000,470.000000 -408.000000,470.000000 -389.000000"></path>
    </g>
    <g transform="scale(0.009963,0.009963)" id="GLYPHpcrr8r_105">
      <path style="fill-rule: evenodd;" d="M320.000000 -417.000000L161.000000 -417.000000C143.000000 -417.000000,134.000000 -410.000000,134.000000 -397.000000C134.000000 -383.000000,143.000000 -376.000000,161.000000 -376.000000L279.000000 -376.000000L279.000000 -41.000000L119.000000 -41.000000C101.000000 -41.000000,92.000000 -34.000000,92.000000 -21.000000C92.000000 -7.000000,101.000000 -0.000000,119.000000 -0.000000L480.000000 -0.000000C498.000000 -0.000000,508.000000 -7.000000,508.000000 -21.000000C508.000000 -34.000000,499.000000 -41.000000,480.000000 -41.000000L320.000000 -41.000000M318.000000 -624.000000L259.000000 -624.000000L259.000000 -520.000000L318.000000 -520.000000"></path>
    </g>
    <g transform="scale(0.009963,0.009963)" id="GLYPHpcrr8r_114">
      <path style="fill-rule: evenodd;" d="M248.000000 -417.000000L132.000000 -417.000000C115.000000 -417.000000,105.000000 -409.000000,105.000000 -397.000000C105.000000 -384.000000,115.000000 -376.000000,132.000000 -376.000000L207.000000 -376.000000L207.000000 -41.000000L111.000000 -41.000000C94.000000 -41.000000,84.000000 -33.000000,84.000000 -21.000000C84.000000 -8.000000,94.000000 -0.000000,111.000000 -0.000000L427.000000 -0.000000C444.000000 -0.000000,454.000000 -8.000000,454.000000 -20.000000C454.000000 -33.000000,444.000000 -41.000000,427.000000 -41.000000L248.000000 -41.000000L248.000000 -262.000000C358.000000 -363.000000,393.000000 -386.000000,438.000000 -386.000000C460.000000 -386.000000,480.000000 -375.000000,504.000000 -352.000000C511.000000 -345.000000,513.000000 -344.000000,520.000000 -344.000000C532.000000 -344.000000,541.000000 -353.000000,541.000000 -365.000000C541.000000 -374.000000,535.000000 -382.000000,518.000000 -396.000000C492.000000 -418.000000,470.000000 -427.000000,441.000000 -427.000000C390.000000 -427.000000,341.000000 -399.000000,248.000000 -315.000000"></path>
    </g>
    <g transform="scale(0.009963,0.009963)" id="GLYPHpcrr8r_115">
      <path style="fill-rule: evenodd;" d="M432.000000 -385.000000C397.000000 -416.000000,352.000000 -431.000000,295.000000 -431.000000C197.000000 -431.000000,124.000000 -383.000000,124.000000 -318.000000C124.000000 -287.000000,142.000000 -257.000000,170.000000 -239.000000C198.000000 -222.000000,226.000000 -215.000000,300.000000 -207.000000C355.000000 -201.000000,382.000000 -194.000000,408.000000 -180.000000C435.000000 -165.000000,452.000000 -140.000000,452.000000 -117.000000C452.000000 -64.000000,386.000000 -25.000000,298.000000 -25.000000C213.000000 -25.000000,144.000000 -62.000000,144.000000 -108.000000L144.000000 -115.000000C144.000000 -128.000000,136.000000 -137.000000,124.000000 -137.000000C110.000000 -137.000000,103.000000 -128.000000,103.000000 -110.000000L103.000000 -27.000000C103.000000 -9.000000,110.000000 -0.000000,124.000000 -0.000000C137.000000 -0.000000,144.000000 -9.000000,144.000000 -27.000000L144.000000 -38.000000C186.000000 -1.000000,236.000000 16.000000,301.000000 16.000000C414.000000 16.000000,497.000000 -40.000000,497.000000 -116.000000C497.000000 -151.000000,478.000000 -185.000000,447.000000 -206.000000C415.000000 -227.000000,378.000000 -238.000000,317.000000 -245.000000C229.000000 -254.000000,223.000000 -256.000000,201.000000 -270.000000C180.000000 -282.000000,169.000000 -299.000000,169.000000 -315.000000C169.000000 -358.000000,225.000000 -390.000000,299.000000 -390.000000C375.000000 -390.000000,427.000000 -361.000000,432.000000 -316.000000C434.000000 -300.000000,441.000000 -293.000000,453.000000 -293.000000C466.000000 -293.000000,473.000000 -302.000000,473.000000 -320.000000L473.000000 -389.000000C473.000000 -408.000000,466.000000 -417.000000,453.000000 -417.000000C440.000000 -417.000000,432.000000 -406.000000,432.000000 -389.000000"></path>
    </g>
    <g transform="scale(0.009963,0.009963)" id="GLYPHpcrr8r_116">
      <path style="fill-rule: evenodd;" d="M186.000000 -417.000000L186.000000 -536.000000C186.000000 -555.000000,180.000000 -563.000000,166.000000 -563.000000C152.000000 -563.000000,145.000000 -554.000000,145.000000 -536.000000L145.000000 -417.000000L71.000000 -417.000000C52.000000 -417.000000,43.000000 -410.000000,43.000000 -397.000000C43.000000 -383.000000,52.000000 -376.000000,71.000000 -376.000000L145.000000 -376.000000L145.000000 -107.000000C145.000000 -32.000000,206.000000 16.000000,300.000000 16.000000C385.000000 16.000000,499.000000 -22.000000,499.000000 -51.000000C499.000000 -61.000000,490.000000 -71.000000,480.000000 -71.000000C475.000000 -71.000000,472.000000 -70.000000,464.000000 -65.000000C425.000000 -42.000000,354.000000 -25.000000,298.000000 -25.000000C229.000000 -25.000000,186.000000 -58.000000,186.000000 -109.000000L186.000000 -376.000000L406.000000 -376.000000C424.000000 -376.000000,433.000000 -383.000000,433.000000 -397.000000C433.000000 -410.000000,424.000000 -417.000000,406.000000 -417.000000"></path>
    </g>
    <g transform="scale(0.009963,0.009963)" id="GLYPHcmr10_43">
      <path style="fill-rule: evenodd;" d="M409.000000 -230.000000L688.000000 -230.000000C702.000000 -230.000000,721.000000 -230.000000,721.000000 -250.000000C721.000000 -270.000000,702.000000 -270.000000,688.000000 -270.000000L409.000000 -270.000000L409.000000 -550.000000C409.000000 -564.000000,409.000000 -583.000000,389.000000 -583.000000C369.000000 -583.000000,369.000000 -564.000000,369.000000 -550.000000L369.000000 -270.000000L89.000000 -270.000000C75.000000 -270.000000,56.000000 -270.000000,56.000000 -250.000000C56.000000 -230.000000,75.000000 -230.000000,89.000000 -230.000000L369.000000 -230.000000L369.000000 50.000000C369.000000 64.000000,369.000000 83.000000,389.000000 83.000000C409.000000 83.000000,409.000000 64.000000,409.000000 50.000000"></path>
    </g>
    <g transform="scale(0.009963,0.009963)" id="GLYPHcmr10_48">
      <path style="fill-rule: evenodd;" d="M460.000000 -320.000000C460.000000 -400.000000,455.000000 -480.000000,420.000000 -554.000000C374.000000 -650.000000,292.000000 -666.000000,250.000000 -666.000000C190.000000 -666.000000,117.000000 -640.000000,76.000000 -547.000000C44.000000 -478.000000,39.000000 -400.000000,39.000000 -320.000000C39.000000 -245.000000,43.000000 -155.000000,84.000000 -79.000000C127.000000 2.000000,200.000000 22.000000,249.000000 22.000000C303.000000 22.000000,379.000000 1.000000,423.000000 -94.000000C455.000000 -163.000000,460.000000 -241.000000,460.000000 -320.000000M249.000000 -0.000000C210.000000 -0.000000,151.000000 -25.000000,133.000000 -121.000000C122.000000 -181.000000,122.000000 -273.000000,122.000000 -332.000000C122.000000 -396.000000,122.000000 -462.000000,130.000000 -516.000000C149.000000 -635.000000,224.000000 -644.000000,249.000000 -644.000000C282.000000 -644.000000,348.000000 -626.000000,367.000000 -527.000000C377.000000 -471.000000,377.000000 -395.000000,377.000000 -332.000000C377.000000 -257.000000,377.000000 -189.000000,366.000000 -125.000000C351.000000 -30.000000,294.000000 -0.000000,249.000000 -0.000000"></path>
    </g>
    <g transform="scale(0.009963,0.009963)" id="GLYPHcmr10_61">
      <path style="fill-rule: evenodd;" d="M687.000000 -327.000000C702.000000 -327.000000,721.000000 -327.000000,721.000000 -347.000000C721.000000 -367.000000,702.000000 -367.000000,688.000000 -367.000000L89.000000 -367.000000C75.000000 -367.000000,56.000000 -367.000000,56.000000 -347.000000C56.000000 -327.000000,75.000000 -327.000000,90.000000 -327.000000M688.000000 -133.000000C702.000000 -133.000000,721.000000 -133.000000,721.000000 -153.000000C721.000000 -173.000000,702.000000 -173.000000,687.000000 -173.000000L90.000000 -173.000000C75.000000 -173.000000,56.000000 -173.000000,56.000000 -153.000000C56.000000 -133.000000,75.000000 -133.000000,89.000000 -133.000000"></path>
    </g>
    <g transform="scale(0.009963,0.009963)" id="GLYPHcmsy10_0">
      <path style="fill-rule: evenodd;" d="M659.000000 -230.000000C676.000000 -230.000000,694.000000 -230.000000,694.000000 -250.000000C694.000000 -270.000000,676.000000 -270.000000,659.000000 -270.000000L118.000000 -270.000000C101.000000 -270.000000,83.000000 -270.000000,83.000000 -250.000000C83.000000 -230.000000,101.000000 -230.000000,118.000000 -230.000000"></path>
    </g>
    <g transform="scale(0.009963,0.009963)" id="GLYPHcmsy10_1">
      <path style="fill-rule: evenodd;" d="M192.000000 -250.000000C192.000000 -279.000000,168.000000 -303.000000,139.000000 -303.000000C110.000000 -303.000000,86.000000 -279.000000,86.000000 -250.000000C86.000000 -221.000000,110.000000 -197.000000,139.000000 -197.000000C168.000000 -197.000000,192.000000 -221.000000,192.000000 -250.000000"></path>
    </g>
    <g transform="scale(0.009963,0.009963)" id="GLYPHcmmi10_99">
      <path style="fill-rule: evenodd;" d="M396.000000 -380.000000C380.000000 -380.000000,366.000000 -380.000000,352.000000 -366.000000C336.000000 -351.000000,334.000000 -334.000000,334.000000 -327.000000C334.000000 -303.000000,352.000000 -292.000000,371.000000 -292.000000C400.000000 -292.000000,427.000000 -316.000000,427.000000 -356.000000C427.000000 -405.000000,380.000000 -442.000000,309.000000 -442.000000C174.000000 -442.000000,41.000000 -299.000000,41.000000 -158.000000C41.000000 -68.000000,99.000000 11.000000,203.000000 11.000000C346.000000 11.000000,430.000000 -95.000000,430.000000 -107.000000C430.000000 -113.000000,424.000000 -120.000000,418.000000 -120.000000C413.000000 -120.000000,411.000000 -118.000000,405.000000 -110.000000C326.000000 -11.000000,217.000000 -11.000000,205.000000 -11.000000C142.000000 -11.000000,115.000000 -60.000000,115.000000 -120.000000C115.000000 -161.000000,135.000000 -258.000000,169.000000 -320.000000C200.000000 -377.000000,255.000000 -420.000000,310.000000 -420.000000C344.000000 -420.000000,382.000000 -407.000000,396.000000 -380.000000"></path>
    </g>
    <g transform="scale(0.009963,0.009963)" id="GLYPHcmmi10_114">
      <path style="fill-rule: evenodd;" d="M88.000000 -59.000000C85.000000 -44.000000,79.000000 -21.000000,79.000000 -16.000000C79.000000 2.000000,93.000000 11.000000,108.000000 11.000000C120.000000 11.000000,138.000000 3.000000,145.000000 -17.000000C147.000000 -21.000000,181.000000 -157.000000,185.000000 -175.000000C193.000000 -208.000000,211.000000 -278.000000,217.000000 -305.000000C221.000000 -318.000000,249.000000 -365.000000,273.000000 -387.000000C281.000000 -394.000000,310.000000 -420.000000,353.000000 -420.000000C379.000000 -420.000000,394.000000 -408.000000,395.000000 -408.000000C365.000000 -403.000000,343.000000 -379.000000,343.000000 -353.000000C343.000000 -337.000000,354.000000 -318.000000,381.000000 -318.000000C408.000000 -318.000000,436.000000 -341.000000,436.000000 -377.000000C436.000000 -412.000000,404.000000 -442.000000,353.000000 -442.000000C288.000000 -442.000000,244.000000 -393.000000,225.000000 -365.000000C217.000000 -410.000000,181.000000 -442.000000,134.000000 -442.000000C88.000000 -442.000000,69.000000 -403.000000,60.000000 -385.000000C42.000000 -351.000000,29.000000 -291.000000,29.000000 -288.000000C29.000000 -278.000000,39.000000 -278.000000,41.000000 -278.000000C51.000000 -278.000000,52.000000 -279.000000,58.000000 -301.000000C75.000000 -372.000000,95.000000 -420.000000,131.000000 -420.000000C148.000000 -420.000000,162.000000 -412.000000,162.000000 -374.000000C162.000000 -353.000000,159.000000 -342.000000,146.000000 -290.000000"></path>
    </g>
  </defs>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,0.878448 10.472168)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHcmmi10_114"></use>
  </g>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,12.054977 10.472168)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHcmsy10_1"></use>
  </g>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,20.025085 10.472168)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHpcrr8r_78"></use>
    <use xlink:href="#GLYPHpcrr8r_114" x="6.000092"></use>
  </g>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,42.695572 10.472168)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHcmr10_43"></use>
  </g>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,58.635803 10.472168)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHcmmi10_99"></use>
  </g>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,69.076309 10.472168)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHcmsy10_1"></use>
  </g>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,77.046265 10.472168)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHpcrr8r_78"></use>
    <use xlink:href="#GLYPHpcrr8r_99" x="6.000092"></use>
  </g>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,99.716919 10.472168)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHcmsy10_0"></use>
  </g>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,115.657135 10.472168)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHpcrr8r_68"></use>
    <use xlink:href="#GLYPHpcrr8r_105" x="6.000092"></use>
    <use xlink:href="#GLYPHpcrr8r_115" x="12.000185"></use>
    <use xlink:href="#GLYPHpcrr8r_116" x="18.000277"></use>
  </g>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,158.341629 10.472168)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHcmr10_61"></use>
  </g>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,175.167267 10.472168)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHcmr10_48"></use>
  </g>
</svg></span>.
</p>
<p>The algorithm used for the fitting of lines can be selected via
<a href="#Algorithm"><i><code><span data-if="hdevelop" style="display:inline">Algorithm</span><span data-if="c" style="display:none">Algorithm</span><span data-if="cpp" style="display:none">Algorithm</span><span data-if="com" style="display:none">Algorithm</span><span data-if="dotnet" style="display:none">algorithm</span><span data-if="python" style="display:none">algorithm</span></code></i></a>:
</p>
<dl class="generic">

<dt><b><i><span data-if="hdevelop" style="display:inline">'regression'</span><span data-if="c" style="display:none">"regression"</span><span data-if="cpp" style="display:none">"regression"</span><span data-if="com" style="display:none">"regression"</span><span data-if="dotnet" style="display:none">"regression"</span><span data-if="python" style="display:none">"regression"</span></i>:</b></dt>
<dd>
<p>

Standard 'least squares' line fitting.
</p>
</dd>

<dt><b><i><span data-if="hdevelop" style="display:inline">'huber'</span><span data-if="c" style="display:none">"huber"</span><span data-if="cpp" style="display:none">"huber"</span><span data-if="com" style="display:none">"huber"</span><span data-if="dotnet" style="display:none">"huber"</span><span data-if="python" style="display:none">"huber"</span></i>:</b></dt>
<dd>
<p>

Weighted 'least squares' line fitting, where the impact of outliers
is decreased based on the approach of Huber (see below).
</p>
</dd>

<dt><b><i><span data-if="hdevelop" style="display:inline">'tukey'</span><span data-if="c" style="display:none">"tukey"</span><span data-if="cpp" style="display:none">"tukey"</span><span data-if="com" style="display:none">"tukey"</span><span data-if="dotnet" style="display:none">"tukey"</span><span data-if="python" style="display:none">"tukey"</span></i>:</b></dt>
<dd>
<p>

Weighted 'least squares' line fitting, where outliers
are ignored based on the approach of Tukey (see below).
</p>
</dd>

<dt><b><i><span data-if="hdevelop" style="display:inline">'drop'</span><span data-if="c" style="display:none">"drop"</span><span data-if="cpp" style="display:none">"drop"</span><span data-if="com" style="display:none">"drop"</span><span data-if="dotnet" style="display:none">"drop"</span><span data-if="python" style="display:none">"drop"</span></i>:</b></dt>
<dd>
<p>

'least squares' line fitting, where outliers are ignored. In
particular, all contour points further away from the contour than the mean
distance to the regression line multiplied with the <a href="#ClippingFactor"><i><code><span data-if="hdevelop" style="display:inline">ClippingFactor</span><span data-if="c" style="display:none">ClippingFactor</span><span data-if="cpp" style="display:none">ClippingFactor</span><span data-if="com" style="display:none">ClippingFactor</span><span data-if="dotnet" style="display:none">clippingFactor</span><span data-if="python" style="display:none">clipping_factor</span></code></i></a>
(see below) are ignored for the calculation of the undistorted regression
line.
</p>
</dd>

<dt><b><i><span data-if="hdevelop" style="display:inline">'gauss'</span><span data-if="c" style="display:none">"gauss"</span><span data-if="cpp" style="display:none">"gauss"</span><span data-if="com" style="display:none">"gauss"</span><span data-if="dotnet" style="display:none">"gauss"</span><span data-if="python" style="display:none">"gauss"</span></i>:</b></dt>
<dd><p>

Weighted 'least squares' line fitting, where the impact of outliers
is decreased based on the mean value and the standard deviation of
the distances of all contour points from the approximating line.
</p></dd>
</dl>
<p>For <i><span data-if="hdevelop" style="display:inline">'huber'</span><span data-if="c" style="display:none">"huber"</span><span data-if="cpp" style="display:none">"huber"</span><span data-if="com" style="display:none">"huber"</span><span data-if="dotnet" style="display:none">"huber"</span><span data-if="python" style="display:none">"huber"</span></i>, <i><span data-if="hdevelop" style="display:inline">'tukey'</span><span data-if="c" style="display:none">"tukey"</span><span data-if="cpp" style="display:none">"tukey"</span><span data-if="com" style="display:none">"tukey"</span><span data-if="dotnet" style="display:none">"tukey"</span><span data-if="python" style="display:none">"tukey"</span></i>, and <i><span data-if="hdevelop" style="display:inline">'drop'</span><span data-if="c" style="display:none">"drop"</span><span data-if="cpp" style="display:none">"drop"</span><span data-if="com" style="display:none">"drop"</span><span data-if="dotnet" style="display:none">"drop"</span><span data-if="python" style="display:none">"drop"</span></i>
a robust error statistics is used to
estimate the standard deviation of the distances from the contour points
<em>without</em> outliers from the approximating line.  The parameter
<a href="#ClippingFactor"><i><code><span data-if="hdevelop" style="display:inline">ClippingFactor</span><span data-if="c" style="display:none">ClippingFactor</span><span data-if="cpp" style="display:none">ClippingFactor</span><span data-if="com" style="display:none">ClippingFactor</span><span data-if="dotnet" style="display:none">clippingFactor</span><span data-if="python" style="display:none">clipping_factor</span></code></i></a> (a scaling factor for the standard deviation)
controls the amount of outliers: The smaller the value chosen for
<a href="#ClippingFactor"><i><code><span data-if="hdevelop" style="display:inline">ClippingFactor</span><span data-if="c" style="display:none">ClippingFactor</span><span data-if="cpp" style="display:none">ClippingFactor</span><span data-if="com" style="display:none">ClippingFactor</span><span data-if="dotnet" style="display:none">clippingFactor</span><span data-if="python" style="display:none">clipping_factor</span></code></i></a> the more outliers are detected.  The detection of
outliers is repeated. The parameter <a href="#Iterations"><i><code><span data-if="hdevelop" style="display:inline">Iterations</span><span data-if="c" style="display:none">Iterations</span><span data-if="cpp" style="display:none">Iterations</span><span data-if="com" style="display:none">Iterations</span><span data-if="dotnet" style="display:none">iterations</span><span data-if="python" style="display:none">iterations</span></code></i></a> specifies the number
of iterations.
In the mode <i><span data-if="hdevelop" style="display:inline">'regression'</span><span data-if="c" style="display:none">"regression"</span><span data-if="cpp" style="display:none">"regression"</span><span data-if="com" style="display:none">"regression"</span><span data-if="dotnet" style="display:none">"regression"</span><span data-if="python" style="display:none">"regression"</span></i> this value is ignored.
Note that in the approach of Tukey (<i><span data-if="hdevelop" style="display:inline">'tukey'</span><span data-if="c" style="display:none">"tukey"</span><span data-if="cpp" style="display:none">"tukey"</span><span data-if="com" style="display:none">"tukey"</span><span data-if="dotnet" style="display:none">"tukey"</span><span data-if="python" style="display:none">"tukey"</span></i>), the outliers are
removed before performing the approximation and all other points are weighted,
whereas in the approach of Huber (<i><span data-if="hdevelop" style="display:inline">'huber'</span><span data-if="c" style="display:none">"huber"</span><span data-if="cpp" style="display:none">"huber"</span><span data-if="com" style="display:none">"huber"</span><span data-if="dotnet" style="display:none">"huber"</span><span data-if="python" style="display:none">"huber"</span></i>), the outliers still have
a small influence. Particularly,
for outliers the optimization is influenced linearly and for points with a
smaller distance it is influenced to the square.
In practice, the approach of Tukey is recommended.
</p>
<p>To reduce the computational load, the fitting of lines can be
restricted to a subset of the contour points: If a value other than
-1 is assigned to <a href="#MaxNumPoints"><i><code><span data-if="hdevelop" style="display:inline">MaxNumPoints</span><span data-if="c" style="display:none">MaxNumPoints</span><span data-if="cpp" style="display:none">MaxNumPoints</span><span data-if="com" style="display:none">MaxNumPoints</span><span data-if="dotnet" style="display:none">maxNumPoints</span><span data-if="python" style="display:none">max_num_points</span></code></i></a>, only up to
<a href="#MaxNumPoints"><i><code><span data-if="hdevelop" style="display:inline">MaxNumPoints</span><span data-if="c" style="display:none">MaxNumPoints</span><span data-if="cpp" style="display:none">MaxNumPoints</span><span data-if="com" style="display:none">MaxNumPoints</span><span data-if="dotnet" style="display:none">maxNumPoints</span><span data-if="python" style="display:none">max_num_points</span></code></i></a> points - uniformly distributed over the
contour - are used.
</p>
<p>The start point and the end point of a line segment is determined by
projecting the first and the last point of the corresponding contour
to the approximating line.  Due to artifacts in the pre-processing
the start and end points of a contour might be faulty. Therefore, it
is possible to exclude <a href="#ClippingEndPoints"><i><code><span data-if="hdevelop" style="display:inline">ClippingEndPoints</span><span data-if="c" style="display:none">ClippingEndPoints</span><span data-if="cpp" style="display:none">ClippingEndPoints</span><span data-if="com" style="display:none">ClippingEndPoints</span><span data-if="dotnet" style="display:none">clippingEndPoints</span><span data-if="python" style="display:none">clipping_end_points</span></code></i></a> points at the beginning
and at the end of a contour from the line fitting. However, they are
still used for the determination of the start point and the end
point of the line segment.
</p>
<p>The minimum necessary number of contour points for fitting a line is two.
Therefore, it is required that the number of contour points is at least
<span title="2" style="vertical-align:-0.238652em" class="math"><!-- Created by MetaPost 1.902 on 2023.05.15:2033 --><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" width="13.2214em" height="0.920463em" viewBox="0 0 211.541916 14.727402">
<!-- Original BoundingBox: -105.770966 -7.363693 105.770950 7.363708 -->
  <defs>
    <g transform="scale(0.009963,0.009963)" id="GLYPHpcrr8r_67">
      <path style="fill-rule: evenodd;" d="M478.000000 -507.000000C431.000000 -552.000000,371.000000 -576.000000,305.000000 -576.000000C238.000000 -576.000000,179.000000 -550.000000,134.000000 -502.000000C91.000000 -456.000000,63.000000 -386.000000,63.000000 -325.000000L63.000000 -242.000000C63.000000 -107.000000,186.000000 16.000000,322.000000 16.000000C386.000000 16.000000,447.000000 -9.000000,496.000000 -55.000000C522.000000 -79.000000,534.000000 -96.000000,534.000000 -106.000000C534.000000 -117.000000,526.000000 -125.000000,514.000000 -125.000000C507.000000 -125.000000,503.000000 -123.000000,496.000000 -115.000000C442.000000 -51.000000,391.000000 -25.000000,322.000000 -25.000000C204.000000 -25.000000,104.000000 -128.000000,104.000000 -248.000000L104.000000 -319.000000C104.000000 -438.000000,194.000000 -535.000000,305.000000 -535.000000C394.000000 -535.000000,474.000000 -482.000000,478.000000 -421.000000C479.000000 -405.000000,486.000000 -397.000000,498.000000 -397.000000C512.000000 -397.000000,519.000000 -406.000000,519.000000 -424.000000L519.000000 -536.000000C519.000000 -554.000000,512.000000 -563.000000,499.000000 -563.000000C485.000000 -563.000000,478.000000 -554.000000,478.000000 -536.000000"></path>
    </g>
    <g transform="scale(0.009963,0.009963)" id="GLYPHpcrr8r_69">
      <path style="fill-rule: evenodd;" d="M165.000000 -272.000000L310.000000 -272.000000L310.000000 -227.000000C310.000000 -209.000000,317.000000 -200.000000,331.000000 -200.000000C344.000000 -200.000000,351.000000 -209.000000,351.000000 -227.000000L351.000000 -358.000000C351.000000 -376.000000,344.000000 -385.000000,331.000000 -385.000000C317.000000 -385.000000,310.000000 -376.000000,310.000000 -358.000000L310.000000 -313.000000L165.000000 -313.000000L165.000000 -522.000000L458.000000 -522.000000L458.000000 -424.000000C458.000000 -406.000000,465.000000 -397.000000,478.000000 -397.000000C492.000000 -397.000000,499.000000 -406.000000,499.000000 -424.000000L499.000000 -563.000000L70.000000 -563.000000C52.000000 -563.000000,43.000000 -556.000000,43.000000 -543.000000C43.000000 -529.000000,52.000000 -522.000000,70.000000 -522.000000L124.000000 -522.000000L124.000000 -41.000000L70.000000 -41.000000C52.000000 -41.000000,43.000000 -34.000000,43.000000 -21.000000C43.000000 -7.000000,52.000000 -0.000000,70.000000 -0.000000L520.000000 -0.000000L520.000000 -160.000000C520.000000 -178.000000,513.000000 -187.000000,500.000000 -187.000000C486.000000 -187.000000,479.000000 -178.000000,479.000000 -160.000000L479.000000 -41.000000L165.000000 -41.000000"></path>
    </g>
    <g transform="scale(0.009963,0.009963)" id="GLYPHpcrr8r_80">
      <path style="fill-rule: evenodd;" d="M165.000000 -231.000000L296.000000 -231.000000C410.000000 -231.000000,499.000000 -305.000000,499.000000 -398.000000C499.000000 -491.000000,416.000000 -563.000000,310.000000 -563.000000L70.000000 -563.000000C52.000000 -563.000000,43.000000 -556.000000,43.000000 -543.000000C43.000000 -529.000000,52.000000 -522.000000,70.000000 -522.000000L124.000000 -522.000000L124.000000 -41.000000L70.000000 -41.000000C52.000000 -41.000000,43.000000 -34.000000,43.000000 -21.000000C43.000000 -7.000000,52.000000 -0.000000,70.000000 -0.000000L303.000000 -0.000000C321.000000 -0.000000,331.000000 -7.000000,331.000000 -21.000000C331.000000 -34.000000,322.000000 -41.000000,303.000000 -41.000000L165.000000 -41.000000M165.000000 -272.000000L165.000000 -522.000000L314.000000 -522.000000C393.000000 -522.000000,458.000000 -466.000000,458.000000 -398.000000C458.000000 -329.000000,386.000000 -272.000000,299.000000 -272.000000"></path>
    </g>
    <g transform="scale(0.009963,0.009963)" id="GLYPHpcrr8r_100">
      <path style="fill-rule: evenodd;" d="M502.000000 -604.000000L407.000000 -604.000000C389.000000 -604.000000,380.000000 -597.000000,380.000000 -584.000000C380.000000 -570.000000,389.000000 -563.000000,407.000000 -563.000000L461.000000 -563.000000L461.000000 -327.000000C412.000000 -398.000000,354.000000 -431.000000,279.000000 -431.000000C160.000000 -431.000000,63.000000 -331.000000,63.000000 -208.000000C63.000000 -85.000000,160.000000 16.000000,279.000000 16.000000C354.000000 16.000000,414.000000 -19.000000,461.000000 -89.000000L461.000000 -0.000000L556.000000 -0.000000C574.000000 -0.000000,583.000000 -7.000000,583.000000 -21.000000C583.000000 -34.000000,574.000000 -41.000000,556.000000 -41.000000L502.000000 -41.000000M282.000000 -390.000000C383.000000 -390.000000,461.000000 -310.000000,461.000000 -206.000000C461.000000 -106.000000,381.000000 -25.000000,283.000000 -25.000000C183.000000 -25.000000,104.000000 -106.000000,104.000000 -208.000000C104.000000 -309.000000,183.000000 -390.000000,282.000000 -390.000000"></path>
    </g>
    <g transform="scale(0.009963,0.009963)" id="GLYPHpcrr8r_103">
      <path style="fill-rule: evenodd;" d="M440.000000 -334.000000C395.000000 -401.000000,342.000000 -431.000000,269.000000 -431.000000C156.000000 -431.000000,63.000000 -337.000000,63.000000 -221.000000C63.000000 -105.000000,156.000000 -10.000000,269.000000 -10.000000C341.000000 -10.000000,395.000000 -41.000000,440.000000 -107.000000L440.000000 22.000000C440.000000 90.000000,386.000000 145.000000,318.000000 145.000000L202.000000 145.000000C184.000000 145.000000,175.000000 152.000000,175.000000 165.000000C175.000000 179.000000,184.000000 186.000000,202.000000 186.000000L316.000000 186.000000C366.000000 186.000000,403.000000 169.000000,438.000000 132.000000C468.000000 100.000000,481.000000 69.000000,481.000000 28.000000L481.000000 -376.000000L535.000000 -376.000000C553.000000 -376.000000,562.000000 -383.000000,562.000000 -397.000000C562.000000 -410.000000,553.000000 -417.000000,535.000000 -417.000000L440.000000 -417.000000M272.000000 -390.000000C367.000000 -390.000000,440.000000 -316.000000,440.000000 -219.000000C440.000000 -126.000000,365.000000 -51.000000,272.000000 -51.000000C179.000000 -51.000000,104.000000 -126.000000,104.000000 -221.000000C104.000000 -315.000000,178.000000 -390.000000,272.000000 -390.000000"></path>
    </g>
    <g transform="scale(0.009963,0.009963)" id="GLYPHpcrr8r_105">
      <path style="fill-rule: evenodd;" d="M320.000000 -417.000000L161.000000 -417.000000C143.000000 -417.000000,134.000000 -410.000000,134.000000 -397.000000C134.000000 -383.000000,143.000000 -376.000000,161.000000 -376.000000L279.000000 -376.000000L279.000000 -41.000000L119.000000 -41.000000C101.000000 -41.000000,92.000000 -34.000000,92.000000 -21.000000C92.000000 -7.000000,101.000000 -0.000000,119.000000 -0.000000L480.000000 -0.000000C498.000000 -0.000000,508.000000 -7.000000,508.000000 -21.000000C508.000000 -34.000000,499.000000 -41.000000,480.000000 -41.000000L320.000000 -41.000000M318.000000 -624.000000L259.000000 -624.000000L259.000000 -520.000000L318.000000 -520.000000"></path>
    </g>
    <g transform="scale(0.009963,0.009963)" id="GLYPHpcrr8r_108">
      <path style="fill-rule: evenodd;" d="M320.000000 -604.000000L162.000000 -604.000000C144.000000 -604.000000,135.000000 -597.000000,135.000000 -584.000000C135.000000 -570.000000,144.000000 -563.000000,162.000000 -563.000000L279.000000 -563.000000L279.000000 -41.000000L119.000000 -41.000000C101.000000 -41.000000,92.000000 -34.000000,92.000000 -21.000000C92.000000 -7.000000,101.000000 -0.000000,119.000000 -0.000000L480.000000 -0.000000C498.000000 -0.000000,508.000000 -7.000000,508.000000 -21.000000C508.000000 -34.000000,499.000000 -41.000000,480.000000 -41.000000L320.000000 -41.000000"></path>
    </g>
    <g transform="scale(0.009963,0.009963)" id="GLYPHpcrr8r_110">
      <path style="fill-rule: evenodd;" d="M167.000000 -417.000000L92.000000 -417.000000C74.000000 -417.000000,65.000000 -410.000000,65.000000 -397.000000C65.000000 -383.000000,74.000000 -376.000000,92.000000 -376.000000L126.000000 -376.000000L126.000000 -41.000000L81.000000 -41.000000C62.000000 -41.000000,53.000000 -34.000000,53.000000 -21.000000C53.000000 -7.000000,62.000000 -0.000000,81.000000 -0.000000L212.000000 -0.000000C230.000000 -0.000000,239.000000 -7.000000,239.000000 -21.000000C239.000000 -34.000000,230.000000 -41.000000,212.000000 -41.000000L167.000000 -41.000000L167.000000 -294.000000C199.000000 -335.000000,209.000000 -346.000000,224.000000 -357.000000C252.000000 -380.000000,281.000000 -390.000000,319.000000 -390.000000C358.000000 -390.000000,377.000000 -384.000000,401.000000 -364.000000C426.000000 -343.000000,439.000000 -318.000000,439.000000 -288.000000L439.000000 -41.000000L405.000000 -41.000000C387.000000 -41.000000,378.000000 -34.000000,378.000000 -21.000000C378.000000 -7.000000,387.000000 -0.000000,405.000000 -0.000000L514.000000 -0.000000C532.000000 -0.000000,541.000000 -7.000000,541.000000 -21.000000C541.000000 -34.000000,532.000000 -41.000000,514.000000 -41.000000L480.000000 -41.000000L480.000000 -295.000000C480.000000 -372.000000,412.000000 -431.000000,323.000000 -431.000000C261.000000 -431.000000,225.000000 -412.000000,167.000000 -348.000000"></path>
    </g>
    <g transform="scale(0.009963,0.009963)" id="GLYPHpcrr8r_111">
      <path style="fill-rule: evenodd;" d="M300.000000 -431.000000C173.000000 -431.000000,72.000000 -331.000000,72.000000 -208.000000C72.000000 -83.000000,173.000000 16.000000,300.000000 16.000000C426.000000 16.000000,528.000000 -83.000000,528.000000 -205.000000C528.000000 -332.000000,428.000000 -431.000000,300.000000 -431.000000M300.000000 -390.000000C405.000000 -390.000000,487.000000 -310.000000,487.000000 -205.000000C487.000000 -106.000000,403.000000 -25.000000,300.000000 -25.000000C196.000000 -25.000000,113.000000 -106.000000,113.000000 -208.000000C113.000000 -309.000000,196.000000 -390.000000,300.000000 -390.000000"></path>
    </g>
    <g transform="scale(0.009963,0.009963)" id="GLYPHpcrr8r_112">
      <path style="fill-rule: evenodd;" d="M144.000000 -417.000000L49.000000 -417.000000C31.000000 -417.000000,22.000000 -410.000000,22.000000 -397.000000C22.000000 -383.000000,31.000000 -376.000000,49.000000 -376.000000L103.000000 -376.000000L103.000000 145.000000L49.000000 145.000000C31.000000 145.000000,22.000000 152.000000,22.000000 165.000000C22.000000 179.000000,31.000000 186.000000,49.000000 186.000000L242.000000 186.000000C260.000000 186.000000,269.000000 179.000000,269.000000 165.000000C269.000000 152.000000,260.000000 145.000000,242.000000 145.000000L144.000000 145.000000L144.000000 -106.000000C190.000000 -40.000000,246.000000 -10.000000,323.000000 -10.000000C446.000000 -10.000000,541.000000 -102.000000,541.000000 -221.000000C541.000000 -340.000000,447.000000 -431.000000,323.000000 -431.000000C247.000000 -431.000000,197.000000 -404.000000,144.000000 -335.000000M322.000000 -390.000000C423.000000 -390.000000,500.000000 -316.000000,500.000000 -219.000000C500.000000 -126.000000,420.000000 -51.000000,322.000000 -51.000000C223.000000 -51.000000,144.000000 -126.000000,144.000000 -221.000000C144.000000 -315.000000,223.000000 -390.000000,322.000000 -390.000000"></path>
    </g>
    <g transform="scale(0.009963,0.009963)" id="GLYPHpcrr8r_115">
      <path style="fill-rule: evenodd;" d="M432.000000 -385.000000C397.000000 -416.000000,352.000000 -431.000000,295.000000 -431.000000C197.000000 -431.000000,124.000000 -383.000000,124.000000 -318.000000C124.000000 -287.000000,142.000000 -257.000000,170.000000 -239.000000C198.000000 -222.000000,226.000000 -215.000000,300.000000 -207.000000C355.000000 -201.000000,382.000000 -194.000000,408.000000 -180.000000C435.000000 -165.000000,452.000000 -140.000000,452.000000 -117.000000C452.000000 -64.000000,386.000000 -25.000000,298.000000 -25.000000C213.000000 -25.000000,144.000000 -62.000000,144.000000 -108.000000L144.000000 -115.000000C144.000000 -128.000000,136.000000 -137.000000,124.000000 -137.000000C110.000000 -137.000000,103.000000 -128.000000,103.000000 -110.000000L103.000000 -27.000000C103.000000 -9.000000,110.000000 -0.000000,124.000000 -0.000000C137.000000 -0.000000,144.000000 -9.000000,144.000000 -27.000000L144.000000 -38.000000C186.000000 -1.000000,236.000000 16.000000,301.000000 16.000000C414.000000 16.000000,497.000000 -40.000000,497.000000 -116.000000C497.000000 -151.000000,478.000000 -185.000000,447.000000 -206.000000C415.000000 -227.000000,378.000000 -238.000000,317.000000 -245.000000C229.000000 -254.000000,223.000000 -256.000000,201.000000 -270.000000C180.000000 -282.000000,169.000000 -299.000000,169.000000 -315.000000C169.000000 -358.000000,225.000000 -390.000000,299.000000 -390.000000C375.000000 -390.000000,427.000000 -361.000000,432.000000 -316.000000C434.000000 -300.000000,441.000000 -293.000000,453.000000 -293.000000C466.000000 -293.000000,473.000000 -302.000000,473.000000 -320.000000L473.000000 -389.000000C473.000000 -408.000000,466.000000 -417.000000,453.000000 -417.000000C440.000000 -417.000000,432.000000 -406.000000,432.000000 -389.000000"></path>
    </g>
    <g transform="scale(0.009963,0.009963)" id="GLYPHpcrr8r_116">
      <path style="fill-rule: evenodd;" d="M186.000000 -417.000000L186.000000 -536.000000C186.000000 -555.000000,180.000000 -563.000000,166.000000 -563.000000C152.000000 -563.000000,145.000000 -554.000000,145.000000 -536.000000L145.000000 -417.000000L71.000000 -417.000000C52.000000 -417.000000,43.000000 -410.000000,43.000000 -397.000000C43.000000 -383.000000,52.000000 -376.000000,71.000000 -376.000000L145.000000 -376.000000L145.000000 -107.000000C145.000000 -32.000000,206.000000 16.000000,300.000000 16.000000C385.000000 16.000000,499.000000 -22.000000,499.000000 -51.000000C499.000000 -61.000000,490.000000 -71.000000,480.000000 -71.000000C475.000000 -71.000000,472.000000 -70.000000,464.000000 -65.000000C425.000000 -42.000000,354.000000 -25.000000,298.000000 -25.000000C229.000000 -25.000000,186.000000 -58.000000,186.000000 -109.000000L186.000000 -376.000000L406.000000 -376.000000C424.000000 -376.000000,433.000000 -383.000000,433.000000 -397.000000C433.000000 -410.000000,424.000000 -417.000000,406.000000 -417.000000"></path>
    </g>
    <g transform="scale(0.009963,0.009963)" id="GLYPHcmr10_43">
      <path style="fill-rule: evenodd;" d="M409.000000 -230.000000L688.000000 -230.000000C702.000000 -230.000000,721.000000 -230.000000,721.000000 -250.000000C721.000000 -270.000000,702.000000 -270.000000,688.000000 -270.000000L409.000000 -270.000000L409.000000 -550.000000C409.000000 -564.000000,409.000000 -583.000000,389.000000 -583.000000C369.000000 -583.000000,369.000000 -564.000000,369.000000 -550.000000L369.000000 -270.000000L89.000000 -270.000000C75.000000 -270.000000,56.000000 -270.000000,56.000000 -250.000000C56.000000 -230.000000,75.000000 -230.000000,89.000000 -230.000000L369.000000 -230.000000L369.000000 50.000000C369.000000 64.000000,369.000000 83.000000,389.000000 83.000000C409.000000 83.000000,409.000000 64.000000,409.000000 50.000000"></path>
    </g>
    <g transform="scale(0.009963,0.009963)" id="GLYPHcmr10_50">
      <path style="fill-rule: evenodd;" d="M127.000000 -77.000000L233.000000 -180.000000C389.000000 -318.000000,449.000000 -372.000000,449.000000 -472.000000C449.000000 -586.000000,359.000000 -666.000000,237.000000 -666.000000C124.000000 -666.000000,50.000000 -574.000000,50.000000 -485.000000C50.000000 -429.000000,100.000000 -429.000000,103.000000 -429.000000C120.000000 -429.000000,155.000000 -441.000000,155.000000 -482.000000C155.000000 -508.000000,137.000000 -534.000000,102.000000 -534.000000C94.000000 -534.000000,92.000000 -534.000000,89.000000 -533.000000C112.000000 -598.000000,166.000000 -635.000000,224.000000 -635.000000C315.000000 -635.000000,358.000000 -554.000000,358.000000 -472.000000C358.000000 -392.000000,308.000000 -313.000000,253.000000 -251.000000L61.000000 -37.000000C50.000000 -26.000000,50.000000 -24.000000,50.000000 -0.000000L421.000000 -0.000000L449.000000 -174.000000L424.000000 -174.000000C419.000000 -144.000000,412.000000 -100.000000,402.000000 -85.000000C395.000000 -77.000000,329.000000 -77.000000,307.000000 -77.000000"></path>
    </g>
    <g transform="scale(0.009963,0.009963)" id="GLYPHcmsy10_1">
      <path style="fill-rule: evenodd;" d="M192.000000 -250.000000C192.000000 -279.000000,168.000000 -303.000000,139.000000 -303.000000C110.000000 -303.000000,86.000000 -279.000000,86.000000 -250.000000C86.000000 -221.000000,110.000000 -197.000000,139.000000 -197.000000C168.000000 -197.000000,192.000000 -221.000000,192.000000 -250.000000"></path>
    </g>
  </defs>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,0.245026 10.908966)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHcmr10_50"></use>
  </g>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,11.757401 10.908966)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHcmr10_43"></use>
  </g>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,27.697617 10.908966)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHcmr10_50"></use>
  </g>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,39.209991 10.908966)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHcmsy10_1"></use>
  </g>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,47.179916 10.908966)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHpcrr8r_67"></use>
    <use xlink:href="#GLYPHpcrr8r_108" x="6.000092"></use>
    <use xlink:href="#GLYPHpcrr8r_105" x="12.000185"></use>
    <use xlink:href="#GLYPHpcrr8r_112" x="18.000277"></use>
    <use xlink:href="#GLYPHpcrr8r_112" x="24.000369"></use>
    <use xlink:href="#GLYPHpcrr8r_105" x="30.000462"></use>
    <use xlink:href="#GLYPHpcrr8r_110" x="36.000554"></use>
    <use xlink:href="#GLYPHpcrr8r_103" x="42.000646"></use>
    <use xlink:href="#GLYPHpcrr8r_69" x="48.000739"></use>
    <use xlink:href="#GLYPHpcrr8r_110" x="54.000831"></use>
    <use xlink:href="#GLYPHpcrr8r_100" x="60.000923"></use>
    <use xlink:href="#GLYPHpcrr8r_80" x="66.001016"></use>
    <use xlink:href="#GLYPHpcrr8r_111" x="72.001108"></use>
    <use xlink:href="#GLYPHpcrr8r_105" x="78.001200"></use>
    <use xlink:href="#GLYPHpcrr8r_110" x="84.001293"></use>
    <use xlink:href="#GLYPHpcrr8r_116" x="90.001385"></use>
    <use xlink:href="#GLYPHpcrr8r_115" x="96.001477"></use>
  </g>
</svg></span>.
</p>
<h2 id="sec_execution">运行信息</h2>
<ul>
  <li>多线程类型:可重入(与非独占操作符并行运行)。</li>
<li>多线程作用域:全局(可以从任何线程调用)。</li>
  <li>未经并行化处理。</li>
</ul>
<h2 id="sec_parameters">参数表</h2>
  <div class="par">
<div class="parhead">
<span id="Contours" class="parname"><b><code><span data-if="hdevelop" style="display:inline">Contours</span><span data-if="c" style="display:none">Contours</span><span data-if="cpp" style="display:none">Contours</span><span data-if="com" style="display:none">Contours</span><span data-if="dotnet" style="display:none">contours</span><span data-if="python" style="display:none">contours</span></code></b> (input_object)  </span><span>xld_cont(-array) <code>→</code> <span data-if="hdevelop" style="display:inline">object</span><span data-if="dotnet" style="display:none"><a href="HXLDCont.html">HXLDCont</a></span><span data-if="python" style="display:none">HObject</span><span data-if="cpp" style="display:none"><a href="HXLDCont.html">HXLDCont</a></span><span data-if="c" style="display:none">Hobject</span></span>
</div>
<p class="pardesc">Input contours.</p>
</div>
  <div class="par">
<div class="parhead">
<span id="Algorithm" class="parname"><b><code><span data-if="hdevelop" style="display:inline">Algorithm</span><span data-if="c" style="display:none">Algorithm</span><span data-if="cpp" style="display:none">Algorithm</span><span data-if="com" style="display:none">Algorithm</span><span data-if="dotnet" style="display:none">algorithm</span><span data-if="python" style="display:none">algorithm</span></code></b> (input_control)  </span><span>string <code>→</code> <span data-if="dotnet" style="display:none"><a href="HTuple.html">HTuple</a></span><span data-if="python" style="display:none">str</span><span data-if="cpp" style="display:none"><a href="HTuple.html">HTuple</a></span><span data-if="c" style="display:none">Htuple</span><span data-if="hdevelop" style="display:inline"> (string)</span><span data-if="dotnet" style="display:none"> (<i>string</i>)</span><span data-if="cpp" style="display:none"> (<i>HString</i>)</span><span data-if="c" style="display:none"> (<i>char*</i>)</span></span>
</div>
<p class="pardesc">Algorithm for the fitting of lines.</p>
<p class="pardesc"><span class="parcat">Default:
      </span>
    <span data-if="hdevelop" style="display:inline">'tukey'</span>
    <span data-if="c" style="display:none">"tukey"</span>
    <span data-if="cpp" style="display:none">"tukey"</span>
    <span data-if="com" style="display:none">"tukey"</span>
    <span data-if="dotnet" style="display:none">"tukey"</span>
    <span data-if="python" style="display:none">"tukey"</span>
</p>
<p class="pardesc"><span class="parcat">List of values:
      </span><span data-if="hdevelop" style="display:inline">'drop'</span><span data-if="c" style="display:none">"drop"</span><span data-if="cpp" style="display:none">"drop"</span><span data-if="com" style="display:none">"drop"</span><span data-if="dotnet" style="display:none">"drop"</span><span data-if="python" style="display:none">"drop"</span>, <span data-if="hdevelop" style="display:inline">'gauss'</span><span data-if="c" style="display:none">"gauss"</span><span data-if="cpp" style="display:none">"gauss"</span><span data-if="com" style="display:none">"gauss"</span><span data-if="dotnet" style="display:none">"gauss"</span><span data-if="python" style="display:none">"gauss"</span>, <span data-if="hdevelop" style="display:inline">'huber'</span><span data-if="c" style="display:none">"huber"</span><span data-if="cpp" style="display:none">"huber"</span><span data-if="com" style="display:none">"huber"</span><span data-if="dotnet" style="display:none">"huber"</span><span data-if="python" style="display:none">"huber"</span>, <span data-if="hdevelop" style="display:inline">'regression'</span><span data-if="c" style="display:none">"regression"</span><span data-if="cpp" style="display:none">"regression"</span><span data-if="com" style="display:none">"regression"</span><span data-if="dotnet" style="display:none">"regression"</span><span data-if="python" style="display:none">"regression"</span>, <span data-if="hdevelop" style="display:inline">'tukey'</span><span data-if="c" style="display:none">"tukey"</span><span data-if="cpp" style="display:none">"tukey"</span><span data-if="com" style="display:none">"tukey"</span><span data-if="dotnet" style="display:none">"tukey"</span><span data-if="python" style="display:none">"tukey"</span></p>
</div>
  <div class="par">
<div class="parhead">
<span id="MaxNumPoints" class="parname"><b><code><span data-if="hdevelop" style="display:inline">MaxNumPoints</span><span data-if="c" style="display:none">MaxNumPoints</span><span data-if="cpp" style="display:none">MaxNumPoints</span><span data-if="com" style="display:none">MaxNumPoints</span><span data-if="dotnet" style="display:none">maxNumPoints</span><span data-if="python" style="display:none">max_num_points</span></code></b> (input_control)  </span><span>integer <code>→</code> <span data-if="dotnet" style="display:none"><a href="HTuple.html">HTuple</a></span><span data-if="python" style="display:none">int</span><span data-if="cpp" style="display:none"><a href="HTuple.html">HTuple</a></span><span data-if="c" style="display:none">Htuple</span><span data-if="hdevelop" style="display:inline"> (integer)</span><span data-if="dotnet" style="display:none"> (<i>int</i> / </span><span data-if="dotnet" style="display:none">long)</span><span data-if="cpp" style="display:none"> (<i>Hlong</i>)</span><span data-if="c" style="display:none"> (<i>Hlong</i>)</span></span>
</div>
<p class="pardesc">Maximum number of contour points used for the computation
(-1 for all points).</p>
<p class="pardesc"><span class="parcat">Default:
      </span>-1</p>
<p class="pardesc"><span class="parcat">Restriction:
      </span><code>MaxNumPoints &gt;= 2</code></p>
</div>
  <div class="par">
<div class="parhead">
<span id="ClippingEndPoints" class="parname"><b><code><span data-if="hdevelop" style="display:inline">ClippingEndPoints</span><span data-if="c" style="display:none">ClippingEndPoints</span><span data-if="cpp" style="display:none">ClippingEndPoints</span><span data-if="com" style="display:none">ClippingEndPoints</span><span data-if="dotnet" style="display:none">clippingEndPoints</span><span data-if="python" style="display:none">clipping_end_points</span></code></b> (input_control)  </span><span>integer <code>→</code> <span data-if="dotnet" style="display:none"><a href="HTuple.html">HTuple</a></span><span data-if="python" style="display:none">int</span><span data-if="cpp" style="display:none"><a href="HTuple.html">HTuple</a></span><span data-if="c" style="display:none">Htuple</span><span data-if="hdevelop" style="display:inline"> (integer)</span><span data-if="dotnet" style="display:none"> (<i>int</i> / </span><span data-if="dotnet" style="display:none">long)</span><span data-if="cpp" style="display:none"> (<i>Hlong</i>)</span><span data-if="c" style="display:none"> (<i>Hlong</i>)</span></span>
</div>
<p class="pardesc">Number of points at the beginning and at the end of the
contours to be ignored for the fitting.</p>
<p class="pardesc"><span class="parcat">Default:
      </span>0</p>
<p class="pardesc"><span class="parcat">Restriction:
      </span><code>ClippingEndPoints &gt;= 0</code></p>
</div>
  <div class="par">
<div class="parhead">
<span id="Iterations" class="parname"><b><code><span data-if="hdevelop" style="display:inline">Iterations</span><span data-if="c" style="display:none">Iterations</span><span data-if="cpp" style="display:none">Iterations</span><span data-if="com" style="display:none">Iterations</span><span data-if="dotnet" style="display:none">iterations</span><span data-if="python" style="display:none">iterations</span></code></b> (input_control)  </span><span>integer <code>→</code> <span data-if="dotnet" style="display:none"><a href="HTuple.html">HTuple</a></span><span data-if="python" style="display:none">int</span><span data-if="cpp" style="display:none"><a href="HTuple.html">HTuple</a></span><span data-if="c" style="display:none">Htuple</span><span data-if="hdevelop" style="display:inline"> (integer)</span><span data-if="dotnet" style="display:none"> (<i>int</i> / </span><span data-if="dotnet" style="display:none">long)</span><span data-if="cpp" style="display:none"> (<i>Hlong</i>)</span><span data-if="c" style="display:none"> (<i>Hlong</i>)</span></span>
</div>
<p class="pardesc">Maximum number of iterations
(unused for <i><span data-if="hdevelop" style="display:inline">'regression'</span><span data-if="c" style="display:none">"regression"</span><span data-if="cpp" style="display:none">"regression"</span><span data-if="com" style="display:none">"regression"</span><span data-if="dotnet" style="display:none">"regression"</span><span data-if="python" style="display:none">"regression"</span></i>).</p>
<p class="pardesc"><span class="parcat">Default:
      </span>5</p>
<p class="pardesc"><span class="parcat">Restriction:
      </span><code>Iterations &gt;= 0</code></p>
</div>
  <div class="par">
<div class="parhead">
<span id="ClippingFactor" class="parname"><b><code><span data-if="hdevelop" style="display:inline">ClippingFactor</span><span data-if="c" style="display:none">ClippingFactor</span><span data-if="cpp" style="display:none">ClippingFactor</span><span data-if="com" style="display:none">ClippingFactor</span><span data-if="dotnet" style="display:none">clippingFactor</span><span data-if="python" style="display:none">clipping_factor</span></code></b> (input_control)  </span><span>real <code>→</code> <span data-if="dotnet" style="display:none"><a href="HTuple.html">HTuple</a></span><span data-if="python" style="display:none">float</span><span data-if="cpp" style="display:none"><a href="HTuple.html">HTuple</a></span><span data-if="c" style="display:none">Htuple</span><span data-if="hdevelop" style="display:inline"> (real)</span><span data-if="dotnet" style="display:none"> (<i>double</i>)</span><span data-if="cpp" style="display:none"> (<i>double</i>)</span><span data-if="c" style="display:none"> (<i>double</i>)</span></span>
</div>
<p class="pardesc">Clipping factor for the elimination of outliers
(typical values: <i>1.0</i> for <i><span data-if="hdevelop" style="display:inline">'huber'</span><span data-if="c" style="display:none">"huber"</span><span data-if="cpp" style="display:none">"huber"</span><span data-if="com" style="display:none">"huber"</span><span data-if="dotnet" style="display:none">"huber"</span><span data-if="python" style="display:none">"huber"</span></i> and
<i><span data-if="hdevelop" style="display:inline">'drop'</span><span data-if="c" style="display:none">"drop"</span><span data-if="cpp" style="display:none">"drop"</span><span data-if="com" style="display:none">"drop"</span><span data-if="dotnet" style="display:none">"drop"</span><span data-if="python" style="display:none">"drop"</span></i> and <i>2.0</i> for <i><span data-if="hdevelop" style="display:inline">'tukey'</span><span data-if="c" style="display:none">"tukey"</span><span data-if="cpp" style="display:none">"tukey"</span><span data-if="com" style="display:none">"tukey"</span><span data-if="dotnet" style="display:none">"tukey"</span><span data-if="python" style="display:none">"tukey"</span></i>).</p>
<p class="pardesc"><span class="parcat">Default:
      </span>2.0</p>
<p class="pardesc"><span class="parcat">Suggested values:
      </span>1.0, 1.5, 2.0, 2.5, 3.0</p>
<p class="pardesc"><span class="parcat">Restriction:
      </span><code>ClippingFactor &gt; 0</code></p>
</div>
  <div class="par">
<div class="parhead">
<span id="RowBegin" class="parname"><b><code><span data-if="hdevelop" style="display:inline">RowBegin</span><span data-if="c" style="display:none">RowBegin</span><span data-if="cpp" style="display:none">RowBegin</span><span data-if="com" style="display:none">RowBegin</span><span data-if="dotnet" style="display:none">rowBegin</span><span data-if="python" style="display:none">row_begin</span></code></b> (output_control)  </span><span>line.begin.y(-array) <code>→</code> <span data-if="dotnet" style="display:none"><a href="HTuple.html">HTuple</a></span><span data-if="python" style="display:none">Sequence[float]</span><span data-if="cpp" style="display:none"><a href="HTuple.html">HTuple</a></span><span data-if="c" style="display:none">Htuple</span><span data-if="hdevelop" style="display:inline"> (real)</span><span data-if="dotnet" style="display:none"> (<i>double</i>)</span><span data-if="cpp" style="display:none"> (<i>double</i>)</span><span data-if="c" style="display:none"> (<i>double</i>)</span></span>
</div>
<p class="pardesc">Row coordinates of the starting points of the line
segments.</p>
</div>
  <div class="par">
<div class="parhead">
<span id="ColBegin" class="parname"><b><code><span data-if="hdevelop" style="display:inline">ColBegin</span><span data-if="c" style="display:none">ColBegin</span><span data-if="cpp" style="display:none">ColBegin</span><span data-if="com" style="display:none">ColBegin</span><span data-if="dotnet" style="display:none">colBegin</span><span data-if="python" style="display:none">col_begin</span></code></b> (output_control)  </span><span>line.begin.x(-array) <code>→</code> <span data-if="dotnet" style="display:none"><a href="HTuple.html">HTuple</a></span><span data-if="python" style="display:none">Sequence[float]</span><span data-if="cpp" style="display:none"><a href="HTuple.html">HTuple</a></span><span data-if="c" style="display:none">Htuple</span><span data-if="hdevelop" style="display:inline"> (real)</span><span data-if="dotnet" style="display:none"> (<i>double</i>)</span><span data-if="cpp" style="display:none"> (<i>double</i>)</span><span data-if="c" style="display:none"> (<i>double</i>)</span></span>
</div>
<p class="pardesc">Column coordinates of the starting points of the line
segments.</p>
</div>
  <div class="par">
<div class="parhead">
<span id="RowEnd" class="parname"><b><code><span data-if="hdevelop" style="display:inline">RowEnd</span><span data-if="c" style="display:none">RowEnd</span><span data-if="cpp" style="display:none">RowEnd</span><span data-if="com" style="display:none">RowEnd</span><span data-if="dotnet" style="display:none">rowEnd</span><span data-if="python" style="display:none">row_end</span></code></b> (output_control)  </span><span>line.end.y(-array) <code>→</code> <span data-if="dotnet" style="display:none"><a href="HTuple.html">HTuple</a></span><span data-if="python" style="display:none">Sequence[float]</span><span data-if="cpp" style="display:none"><a href="HTuple.html">HTuple</a></span><span data-if="c" style="display:none">Htuple</span><span data-if="hdevelop" style="display:inline"> (real)</span><span data-if="dotnet" style="display:none"> (<i>double</i>)</span><span data-if="cpp" style="display:none"> (<i>double</i>)</span><span data-if="c" style="display:none"> (<i>double</i>)</span></span>
</div>
<p class="pardesc">Row coordinates of the end points of the line
segments.</p>
</div>
  <div class="par">
<div class="parhead">
<span id="ColEnd" class="parname"><b><code><span data-if="hdevelop" style="display:inline">ColEnd</span><span data-if="c" style="display:none">ColEnd</span><span data-if="cpp" style="display:none">ColEnd</span><span data-if="com" style="display:none">ColEnd</span><span data-if="dotnet" style="display:none">colEnd</span><span data-if="python" style="display:none">col_end</span></code></b> (output_control)  </span><span>line.end.x(-array) <code>→</code> <span data-if="dotnet" style="display:none"><a href="HTuple.html">HTuple</a></span><span data-if="python" style="display:none">Sequence[float]</span><span data-if="cpp" style="display:none"><a href="HTuple.html">HTuple</a></span><span data-if="c" style="display:none">Htuple</span><span data-if="hdevelop" style="display:inline"> (real)</span><span data-if="dotnet" style="display:none"> (<i>double</i>)</span><span data-if="cpp" style="display:none"> (<i>double</i>)</span><span data-if="c" style="display:none"> (<i>double</i>)</span></span>
</div>
<p class="pardesc">Column coordinates of the end points of the line
segments.</p>
</div>
  <div class="par">
<div class="parhead">
<span id="Nr" class="parname"><b><code><span data-if="hdevelop" style="display:inline">Nr</span><span data-if="c" style="display:none">Nr</span><span data-if="cpp" style="display:none">Nr</span><span data-if="com" style="display:none">Nr</span><span data-if="dotnet" style="display:none">nr</span><span data-if="python" style="display:none">nr</span></code></b> (output_control)  </span><span>number(-array) <code>→</code> <span data-if="dotnet" style="display:none"><a href="HTuple.html">HTuple</a></span><span data-if="python" style="display:none">Sequence[float]</span><span data-if="cpp" style="display:none"><a href="HTuple.html">HTuple</a></span><span data-if="c" style="display:none">Htuple</span><span data-if="hdevelop" style="display:inline"> (real)</span><span data-if="dotnet" style="display:none"> (<i>double</i>)</span><span data-if="cpp" style="display:none"> (<i>double</i>)</span><span data-if="c" style="display:none"> (<i>double</i>)</span></span>
</div>
<p class="pardesc">Line parameter: Row coordinate of the normal vector</p>
</div>
  <div class="par">
<div class="parhead">
<span id="Nc" class="parname"><b><code><span data-if="hdevelop" style="display:inline">Nc</span><span data-if="c" style="display:none">Nc</span><span data-if="cpp" style="display:none">Nc</span><span data-if="com" style="display:none">Nc</span><span data-if="dotnet" style="display:none">nc</span><span data-if="python" style="display:none">nc</span></code></b> (output_control)  </span><span>number(-array) <code>→</code> <span data-if="dotnet" style="display:none"><a href="HTuple.html">HTuple</a></span><span data-if="python" style="display:none">Sequence[float]</span><span data-if="cpp" style="display:none"><a href="HTuple.html">HTuple</a></span><span data-if="c" style="display:none">Htuple</span><span data-if="hdevelop" style="display:inline"> (real)</span><span data-if="dotnet" style="display:none"> (<i>double</i>)</span><span data-if="cpp" style="display:none"> (<i>double</i>)</span><span data-if="c" style="display:none"> (<i>double</i>)</span></span>
</div>
<p class="pardesc">Line parameter: Column coordinate of the normal vector</p>
</div>
  <div class="par">
<div class="parhead">
<span id="Dist" class="parname"><b><code><span data-if="hdevelop" style="display:inline">Dist</span><span data-if="c" style="display:none">Dist</span><span data-if="cpp" style="display:none">Dist</span><span data-if="com" style="display:none">Dist</span><span data-if="dotnet" style="display:none">dist</span><span data-if="python" style="display:none">dist</span></code></b> (output_control)  </span><span>number(-array) <code>→</code> <span data-if="dotnet" style="display:none"><a href="HTuple.html">HTuple</a></span><span data-if="python" style="display:none">Sequence[float]</span><span data-if="cpp" style="display:none"><a href="HTuple.html">HTuple</a></span><span data-if="c" style="display:none">Htuple</span><span data-if="hdevelop" style="display:inline"> (real)</span><span data-if="dotnet" style="display:none"> (<i>double</i>)</span><span data-if="cpp" style="display:none"> (<i>double</i>)</span><span data-if="c" style="display:none"> (<i>double</i>)</span></span>
</div>
<p class="pardesc">Line parameter: Distance of the line from the origin</p>
</div>
<div data-if="hdevelop" style="display:inline">
<h2 id="sec_example_hdevelop">例程 (HDevelop)</h2>
<pre class="example">
read_image (Image, 'mreut')
edges_sub_pix (Image, Edges, 'lanser2', 0.5, 20, 40)
gen_polygons_xld (Edges, Polygons, 'ramer', 2)
split_contours_xld (Polygons, Contours, 'polygon', 1, 5)
fit_line_contour_xld (Contours, 'regression', -1, 0, 5, 2, RowBegin, \
                      ColBegin, RowEnd, ColEnd, Nr, Nc, Dist)
</pre>
</div>
<div data-if="c" style="display:none">
<h2 id="sec_example_c">例程 (HDevelop)</h2>
<pre class="example">
read_image (Image, 'mreut')
edges_sub_pix (Image, Edges, 'lanser2', 0.5, 20, 40)
gen_polygons_xld (Edges, Polygons, 'ramer', 2)
split_contours_xld (Polygons, Contours, 'polygon', 1, 5)
fit_line_contour_xld (Contours, 'regression', -1, 0, 5, 2, RowBegin, \
                      ColBegin, RowEnd, ColEnd, Nr, Nc, Dist)
</pre>
</div>
<div data-if="cpp" style="display:none">
<h2 id="sec_example_cpp">例程 (HDevelop)</h2>
<pre class="example">
read_image (Image, 'mreut')
edges_sub_pix (Image, Edges, 'lanser2', 0.5, 20, 40)
gen_polygons_xld (Edges, Polygons, 'ramer', 2)
split_contours_xld (Polygons, Contours, 'polygon', 1, 5)
fit_line_contour_xld (Contours, 'regression', -1, 0, 5, 2, RowBegin, \
                      ColBegin, RowEnd, ColEnd, Nr, Nc, Dist)
</pre>
</div>
<div data-if="com" style="display:none">
<h2 id="sec_example_com">例程 (HDevelop)</h2>
<pre class="example">
read_image (Image, 'mreut')
edges_sub_pix (Image, Edges, 'lanser2', 0.5, 20, 40)
gen_polygons_xld (Edges, Polygons, 'ramer', 2)
split_contours_xld (Polygons, Contours, 'polygon', 1, 5)
fit_line_contour_xld (Contours, 'regression', -1, 0, 5, 2, RowBegin, \
                      ColBegin, RowEnd, ColEnd, Nr, Nc, Dist)
</pre>
</div>
<div data-if="dotnet" style="display:none">
<h2 id="sec_example_dotnet">例程 (HDevelop)</h2>
<pre class="example">
read_image (Image, 'mreut')
edges_sub_pix (Image, Edges, 'lanser2', 0.5, 20, 40)
gen_polygons_xld (Edges, Polygons, 'ramer', 2)
split_contours_xld (Polygons, Contours, 'polygon', 1, 5)
fit_line_contour_xld (Contours, 'regression', -1, 0, 5, 2, RowBegin, \
                      ColBegin, RowEnd, ColEnd, Nr, Nc, Dist)
</pre>
</div>
<h2 id="sec_result">结果</h2>
<p><code><span data-if="hdevelop" style="display:inline">fit_line_contour_xld</span><span data-if="c" style="display:none">fit_line_contour_xld</span><span data-if="cpp" style="display:none">FitLineContourXld</span><span data-if="com" style="display:none">FitLineContourXld</span><span data-if="dotnet" style="display:none">FitLineContourXld</span><span data-if="python" style="display:none">fit_line_contour_xld</span></code> returns <TT>2</TT> (
      <TT>H_MSG_TRUE</TT>)
     if all parameter values
are correct, and line segments could be fitted to the input contours.
If the input is empty the behavior can be set via
<a href="set_system.html"><code><span data-if="hdevelop" style="display:inline">set_system('no_object_result',&lt;Result&gt;)</span><span data-if="c" style="display:none">set_system("no_object_result",&lt;Result&gt;)</span><span data-if="cpp" style="display:none">SetSystem("no_object_result",&lt;Result&gt;)</span><span data-if="com" style="display:none">SetSystem("no_object_result",&lt;Result&gt;)</span><span data-if="dotnet" style="display:none">SetSystem("no_object_result",&lt;Result&gt;)</span><span data-if="python" style="display:none">set_system("no_object_result",&lt;Result&gt;)</span></code></a>.
如有必要，将引发异常。
If the parameter <a href="#ClippingFactor"><i><code><span data-if="hdevelop" style="display:inline">ClippingFactor</span><span data-if="c" style="display:none">ClippingFactor</span><span data-if="cpp" style="display:none">ClippingFactor</span><span data-if="com" style="display:none">ClippingFactor</span><span data-if="dotnet" style="display:none">clippingFactor</span><span data-if="python" style="display:none">clipping_factor</span></code></i></a> is chosen too small, i.e.,
all points are classified as outliers, the error 3264 is raised.</p>
<h2 id="sec_predecessors">可能的前置算子</h2>
<p>
<code><a href="gen_contours_skeleton_xld.html"><span data-if="hdevelop" style="display:inline">gen_contours_skeleton_xld</span><span data-if="c" style="display:none">gen_contours_skeleton_xld</span><span data-if="cpp" style="display:none">GenContoursSkeletonXld</span><span data-if="com" style="display:none">GenContoursSkeletonXld</span><span data-if="dotnet" style="display:none">GenContoursSkeletonXld</span><span data-if="python" style="display:none">gen_contours_skeleton_xld</span></a></code>, 
<code><a href="lines_gauss.html"><span data-if="hdevelop" style="display:inline">lines_gauss</span><span data-if="c" style="display:none">lines_gauss</span><span data-if="cpp" style="display:none">LinesGauss</span><span data-if="com" style="display:none">LinesGauss</span><span data-if="dotnet" style="display:none">LinesGauss</span><span data-if="python" style="display:none">lines_gauss</span></a></code>, 
<code><a href="lines_facet.html"><span data-if="hdevelop" style="display:inline">lines_facet</span><span data-if="c" style="display:none">lines_facet</span><span data-if="cpp" style="display:none">LinesFacet</span><span data-if="com" style="display:none">LinesFacet</span><span data-if="dotnet" style="display:none">LinesFacet</span><span data-if="python" style="display:none">lines_facet</span></a></code>, 
<code><a href="edges_sub_pix.html"><span data-if="hdevelop" style="display:inline">edges_sub_pix</span><span data-if="c" style="display:none">edges_sub_pix</span><span data-if="cpp" style="display:none">EdgesSubPix</span><span data-if="com" style="display:none">EdgesSubPix</span><span data-if="dotnet" style="display:none">EdgesSubPix</span><span data-if="python" style="display:none">edges_sub_pix</span></a></code>, 
<code><a href="smooth_contours_xld.html"><span data-if="hdevelop" style="display:inline">smooth_contours_xld</span><span data-if="c" style="display:none">smooth_contours_xld</span><span data-if="cpp" style="display:none">SmoothContoursXld</span><span data-if="com" style="display:none">SmoothContoursXld</span><span data-if="dotnet" style="display:none">SmoothContoursXld</span><span data-if="python" style="display:none">smooth_contours_xld</span></a></code>
</p>
<h2 id="sec_successors">可能的后置算子</h2>
<p>
<code><a href="disp_line.html"><span data-if="hdevelop" style="display:inline">disp_line</span><span data-if="c" style="display:none">disp_line</span><span data-if="cpp" style="display:none">DispLine</span><span data-if="com" style="display:none">DispLine</span><span data-if="dotnet" style="display:none">DispLine</span><span data-if="python" style="display:none">disp_line</span></a></code>, 
<code><a href="line_orientation.html"><span data-if="hdevelop" style="display:inline">line_orientation</span><span data-if="c" style="display:none">line_orientation</span><span data-if="cpp" style="display:none">LineOrientation</span><span data-if="com" style="display:none">LineOrientation</span><span data-if="dotnet" style="display:none">LineOrientation</span><span data-if="python" style="display:none">line_orientation</span></a></code>
</p>
<h2 id="sec_see">参考其它</h2>
<p>
<code><a href="regress_contours_xld.html"><span data-if="hdevelop" style="display:inline">regress_contours_xld</span><span data-if="c" style="display:none">regress_contours_xld</span><span data-if="cpp" style="display:none">RegressContoursXld</span><span data-if="com" style="display:none">RegressContoursXld</span><span data-if="dotnet" style="display:none">RegressContoursXld</span><span data-if="python" style="display:none">regress_contours_xld</span></a></code>, 
<code><a href="get_regress_params_xld.html"><span data-if="hdevelop" style="display:inline">get_regress_params_xld</span><span data-if="c" style="display:none">get_regress_params_xld</span><span data-if="cpp" style="display:none">GetRegressParamsXld</span><span data-if="com" style="display:none">GetRegressParamsXld</span><span data-if="dotnet" style="display:none">GetRegressParamsXld</span><span data-if="python" style="display:none">get_regress_params_xld</span></a></code>
</p>
<h2 id="sec_module">模块</h2>
<p>
Foundation</p>
<!--OP_REF_FOOTER_START-->
<hr>
<div class="indexlink">
<a href="index_classes.html"><span data-if="dotnet" style="display:none;">类别</span><span data-if="cpp" style="display:none;">类别</span></a><span data-if="dotnet" style="display:none;"> | </span><span data-if="cpp" style="display:none;"> | </span><a href="index_by_name.html">算子列表</a>
</div>
<div class="footer">
<div class="copyright">HALCON算子参考手册 Copyright © 2015-2023 51Halcon</div>
</div>
</div>
</body>
</html>
